11-移動端開發教程-zepto.js入門教程


Zepto.js是一個輕量級的針對現代瀏覽器的JavaScript庫, 它與jquery有着類似的api。 如果你會用jquery,那么你也會用zepto。

1. Why Zepto.js?

  1. API類似jQuery,熟悉jQuery可以無縫遷移到Zepto.js
  2. Zepto僅針對高版本現代瀏覽器設計了最小核心的通用庫,代碼體積小,尤其適合移動端開發。
  3. Zepto增加了針對移動端的觸摸和手勢相關的事件
  4. Zepto模塊化做的很靈活,可以自定義組合模塊

2. Zepto.js下載

代碼下載:zeptojs中文站 、 github

2.1 自定義Zepto.js文件模塊

zepto默認是有五個模塊的,分別為zepto、event、ajax、form、ie,這五個模塊被稱為核心模塊。

module default description
zepto 核心模塊;包含許多方法
event 通過on()off()處理事件
ajax XMLHttpRequest 和 JSONP 實用功能
form 序列化 & 提交web表單
ie 增加支持桌面的Internet Explorer 10+和Windows Phone 8。
detect   提供 $.os和 $.browser消息
fx   The animate()方法
fx_methods   以動畫形式的 showhidetoggle, 和 fade*()方法.
assets   實驗性支持從DOM中移除image元素后清理iOS的內存。
data   一個全面的 data()方法, 能夠在內存中存儲任意對象。
deferred   提供 $.Deferredpromises API. 依賴"callbacks" 模塊. 當包含這個模塊時候, $.ajax() 支持promise接口鏈式的回調。
callbacks   為"deferred"模塊提供 $.Callbacks
selector   實驗性的支持 jQuery CSS 表達式 實用功能,比如 $('div:first')el.is(':visible')
touch   在觸摸設備上觸發tap– 和 swipe– 相關事件。這適用於所有的touch(iOS, Android)和pointer事件(Windows Phone)。
gesture   在觸摸設備上觸發 pinch 手勢事件。
stack   提供 andSelfend()鏈式調用方法
ios3   String.prototype.trim 和 Array.prototype.reduce 方法 (如果他們不存在) ,以兼容 iOS 3.x.

如果需要其他非核心模塊,需要下載github的源碼自行編譯。

自定義編譯步驟:

  1. 第一步:下載zeptojs源碼:源碼
  2. 第二步:解壓源碼,並打開命令行進入源碼根目錄
# 打開命令行工具,進入解壓的zepto目錄 $ cd zepto-master # 安裝npm包依賴 $ npm install 
  1. 第三步:修改make編譯文件的依賴模塊
modules = (env['MODULES'] || 'zepto event ajax form ie').split(' ')
## 修改:增加 touch gesture fx fx_methods等模塊 ## modules = (env['MODULES'] || 'zepto event ajax form ie touch gesture fx fx_methods').split(' ') 
 
  1. 第四步:編譯最終的zeptojs
$ npm run-script dist 

3. zepto注意事項

  1. 注意某些模塊必須打包進zeptojs文件才能用,比如:fx_methods模塊的方法:hide() show()等動畫方法。
  2. Zepto只設置全局變量$指向它本身。 沒有Zepto.noConflict方法。
  3. 不支持jQuery CSS 擴展, 然而,可選的“selector”模塊有限提供了支持幾個最常用的偽選擇器
  4. Zepto.js: 無法獲取隱藏元素寬高;
  5. Zepto 的選擇器表達式: [name=value] 中value 必須用 雙引號 " or 單引號 ' 括起來
  6. 移動端端點透需要阻止默認行為來規避。

其實還有很多方法的缺失,所以大家自己在寫代碼的時候多留意下zepto和jQuery的區別吧,在此就不多贅述了。

4. zepto的應用demo

用法基本跟jQuery一致,直接上手就行,不用客氣。

<ul> <li>list item 1</li> <li class="yaotaiyang">list item 2</li> <li>list item 3</li> </ul> <p>a paragraph</p> <script type="text/javascript"> $(function() { $("p").on('click', function(e) { $("li").toggleClass("yaotaiyang"); }); }); </script> 

5. 總結

zepto.js確實非常小巧,而且非常討巧的利用了大家熟悉jQuery的優勢,確實非常可愛的一個js庫,設計的模塊中庸而又實用,在移動端的觸屏事件封裝的很不錯,移動端web開發值得推薦。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM