自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解關(guān)于JQuery Mobile使用心得

移動(dòng)開發(fā)
Jquery Mobile使用心得是本文要介紹的內(nèi)容,主要是來了解Jquery Mobile使用指南的一個(gè)指引,具體內(nèi)容來看本文詳解。

Jquery Mobile使用心得是本文要介紹的內(nèi)容,主要是來了解Jquery Mobile使用指南的一個(gè)指引,具體內(nèi)容來看本文詳解。在Jquery Mobile的使用過程中,動(dòng)態(tài)添加元素后css丟失。因?yàn)轫撁鏄?biāo)簽首先經(jīng)過jquery mobile-10a2minjs的處理,添加了許多標(biāo)簽,然后再用css布局,并且給出了一種解決方法:動(dòng)態(tài)加載jquery mobile-10a2minjs。

但是經(jīng)過測(cè)試,上面這種方法并不好。首先異步加載造成用戶可以看到?jīng)]有加載JS的頁面,并且JS加載過一次后,如果再要?jiǎng)討B(tài)添加新元素的話,就意味著多次加載JS文件,顯示問題先不說,這效率也堪憂。

因此必須提出新方法。

新方法有兩個(gè),調(diào)用JS的順序與普通方式相同,都別動(dòng)態(tài)添加JS。

一是將按照jquery mobile-10a2minjs處理過后的樣式,來動(dòng)態(tài)添加元素。jquery mobile-10a2minjs處理過后的樣式可以通過chrome瀏覽器的審查元素功能看到。這個(gè)辦法的缺點(diǎn)很明顯:添加了很多奇怪的標(biāo)簽。

例如:

一般情形下動(dòng)態(tài)添加元素:

  1. onelist = "<li><img src='stylesheets/images/file_icon/" + SwitchIcon($obj[i]wext) + "' class='ui-li-icon'/><a href='#' ";  
  2. if($obj[i]wtype == "dir"){//文件夾  
  3. onelist += "onclick=\"GetShowMyList(\'" + $obj[i]wid + "\')\">" + $obj[i]wname +"</a>
  4. <span class='ui-li-count'>" + CountSize($obj[i]wsize) + "</span><a href='dialog/operatefilehtml' >操作</a></li>"; 

}else{//非文件夾直接下載

  1. onelist += "onclick=\"download(\'" + $obj[i]wid + "\')\">" + $obj[i]wname +"</a><span class='ui-li-count'>" + CountSize($obj[i]wsize) + "  
  2. </span> 
  3. <a href='dialog/operatefilehtml' > 
  4. 操作</a></li>";

按照jquery mobile-10a2minjs處理過后的樣式,來動(dòng)態(tài)添加元素:

  1. onelist = "<li class='ui-li-has-icon ui-btn ui-btn-icon-right ui-li ui-li-has-alt ui-btn-up-c' role='option' tabindex='0' data-theme='c'>" +  
  2.  "<div class='ui-btn-inner'>" +  
  3.  "<div class='ui-btn-text'>" +  
  4.  "<img class='ui-li-icon ui-li-thumb' src='stylesheets/images/file_icon/" + SwitchIcon($obj[i]wext) + "' />" +  
  5.  "<a class='ui-link-inherit' href='#' ";  
  6. if($obj[i]wtype == "dir"){//文件夾  
  7. onelist += "onclick=\"GetShowMyList(\'" + $obj[i]wid + "\')\">" + $obj[i]wname +"</a>" +  
  8.   "<span class='ui-li-count ui-btn-up-c ui-btn-corner-all'>" + CountSize($obj[i]wsize) + "</span>" +  
  9.   "<a class='ui-li-link-alt ui-btn ui-btn-up-c' href='dialog/operatefilehtml' title='操作' data-theme='c'>" +  
  10.   "<span class='ui-btn-inner'>" +  
  11.     "<span class='ui-btn-text'></span>" +  
  12.     "<span class='ui-btn ui-btn-up-d ui-btn-icon-notext ui-btn-corner-all ui-shadow' data-theme='d'>" +  
  13.       "<span class='ui-btn-inner ui-btn-corner-all'>" +  
  14.         "<span class='ui-icon ui-icon-gear ui-icon-shadow'></span>" +  
  15.       "</span>" +  
  16.     "</span>" +  
  17.   "</span>" +  
  18.   "</a></div></div></li>";  
  19. }else{//非文件夾直接下載  
  20. onelist += "onclick=\"download(\'" + $obj[i]wid + "\')\">" + $obj[i]wname +"</a>" +  
  21.   "<span class='ui-li-count ui-btn-up-c ui-btn-corner-all'>" + CountSize($obj[i]wsize) + "</span>" +  
  22.   "<a class='ui-li-link-alt ui-btn ui-btn-up-c' href='dialog/operatefilehtml' title='操作' data-theme='c'>" +  
  23.   "<span class='ui-btn-inner'>" +  
  24.     "<span class='ui-btn-text'></span>" +  
  25.     "<span class='ui-btn ui-btn-up-d ui-btn-icon-notext ui-btn-corner-all ui-shadow' data-theme='d'>" +  
  26.       "<span class='ui-btn-inner ui-btn-corner-all'>" +  
  27.         "<span class='ui-icon ui-icon-gear ui-icon-shadow'></span>" +  
  28.       "</span>" +  
  29.     "</span>" +  
  30.   "</span>" +  
  31.   "</a></div></div></li>";  
  32. }  

瞧這多了多少代碼?。〔贿^這也是JQuery Mobile UI前端實(shí)際最終處理的代碼量。

方法二:refresh

其實(shí)JQuery Mobile 中早就封裝了refresh方法。你只需要對(duì)新添加的元素節(jié)點(diǎn)refresh一下就可以了。

例如: $("#節(jié)點(diǎn)名")listview("refresh");

還是剛才那個(gè)函數(shù),采用普通的動(dòng)態(tài)添加元素方法,最后加個(gè)refresh就搞定了。

  1. function ShowMyListOK(){//處理根目錄文件列表函數(shù)  
  2. if( $glb_result == ""){  
  3. alert("返回為空!請(qǐng)重新登錄!");  
  4. }else{  
  5. //alert("成功: "+$glb_result);  
  6. $("#wlist")empty();  
  7. var $obj = jQueryparseJSON($glb_result);  
  8. var onelist = "";  
  9. $each( $obj, function(i, n){  
  10. if( $obj[i]wname != ""){  
  11.    onelist = "<li><img src='stylesheets/images/file_icon/" + SwitchIcon($obj[i]wext) + "' class='ui-li-icon'/><a href='#' ";  
  12. if($obj[i]wtype == "dir"){//文件夾  
  13. onelist += "onclick=\"GetShowMyList(\'" + $obj[i]wid + "\')\">" + $obj[i]wname +"</a>
  14. <span class='ui-li-count'>" + CountSize($obj[i]wsize) + "</span><a href='dialog/operatefilehtml' >操作</a></li>";  
  15. }else{//非文件夾直接下載  
  16. onelist += "onclick=\"download(\'" + $obj[i]wid + "\')\">" + $obj[i]wname +"</a>
  17. <span class='ui-li-count'>" + CountSize($obj[i]wsize) + "</span><a href='dialog/operatefilehtml' >操作</a></li>";  
  18. }  
  19. $("#wlist")append(onelist);  
  20. }  
  21. });  
  22. $("#wlist")listview("refresh");  
  23. }  

這個(gè)方法很好,但是為什么沒有早點(diǎn)發(fā)現(xiàn)呢?因?yàn)?strong>jquery mobile-10a2js的源碼確實(shí)很不好讀。本人JS水平有限,看到里面內(nèi)容后,以為調(diào)用里面方法必須創(chuàng)建對(duì)象,誤解了JQuery的原意。試了半天才搞出來,必須發(fā)帖紀(jì)錄一下這個(gè)小成功。

小結(jié):詳解關(guān)于JQuery Mobile使用心得的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-06-26 16:12:08

ThickboxjQuery

2011-01-19 14:57:09

Thunderbird

2009-06-19 11:09:27

Spring AOP

2011-01-07 11:14:17

Nginx負(fù)載均衡負(fù)載均衡

2010-02-01 10:15:07

C++ TinyXML

2011-09-01 15:00:48

jQuery MobiDemo

2011-09-01 14:14:00

jQuery Mobi

2009-08-28 10:08:15

C# using語句

2010-03-02 17:33:49

Android 2.0

2011-07-21 14:57:34

jQuery Mobi

2025-03-26 00:00:00

2009-08-31 10:00:07

C#靜態(tài)變量

2009-08-11 11:42:50

Ruby使用心得

2011-09-01 14:55:41

jQuery Mobi列表視圖

2011-03-15 11:05:03

2010-06-01 13:42:37

TortoiseSVN

2011-04-20 13:59:28

愛普生V100掃描儀

2011-09-08 10:18:09

Windows MobWidgets

2010-08-06 11:12:38

FlexCairngorm框架

2009-08-26 13:31:21

JavaScript使
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)