1. 程式人生 > >常用的移動端框架

常用的移動端框架

zepto.js

語法與jquery幾乎一樣,會jquery基本會zepto~

最新版本已經更新到1.16

常使用的擴充套件模組:

iscroll.js

解決頁面不支援彈性滾動,不支援fixed引起的問題~

實現下拉重新整理,滑屏,縮放等功能~

最新版本已經更新到5.0

underscore.js

筆者沒用過,不過聽說好用,推薦給大家~

該庫提供了一整套函數語言程式設計的實用功能,但是沒有擴充套件任何JavaScript內建物件。

最新版本已經更新到1.8.2

滑屏框架

適合上下滑屏、左右滑屏等滑屏切換頁面的效果

flex佈局

flex佈局目前可使用在移動中,並非所有的語法都全相容,但以下寫法筆者實踐過,效果良好~

/* ============================================================

   flex:定義佈局為盒模型

   flex-v:盒模型垂直佈局

   flex-1:子元素佔據剩餘的空間

   flex-align-center:子元素垂直居中

   flex-pack-center:子元素水平居中

   flex-pack-justify:子元素兩端對齊

   相容性:ios 4+android 2.3+winphone8+

   ============================================================ */

.flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox

;display:flex;}

.flex-v{-webkit-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}

.flex-1{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}

.flex-align-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center

;}

.flex-pack-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}

.flex-pack-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}

示例:兩端對齊

<!DOCTYPE html><html><head><meta charset="utf-8"><meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta content="email=no" name="format-detection"><style type="text/css">/* ============================================================

   flex:定義佈局為盒模型

   flex-v:盒模型垂直佈局

   flex-1:子元素佔據剩餘的空間

   flex-align-center:子元素垂直居中

   flex-pack-center:子元素水平居中

   flex-pack-justify:子元素兩端對齊

   相容性:ios 4+android 2.3+winphone8+

   ============================================================ */

.flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}

.flex-v{-webkit-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}

.flex-1{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}

.flex-align-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}

.flex-pack-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}

.flex-pack-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}</style></head><body>

<div class="flex flex-pack-justify">

<div>模組一</div>

<div>模組二</div>

<div>模組三</div>

<div>模組四</div></div>

</body></html>

使用注意:

· flex下的子元素必須為塊級元素,非塊級元素在android2.3機器下flex失效

· flex下的子元素寬度和高度不能超過父元素,否則會導致子元素定位錯誤,例如水平垂直居中

參考:

FastClick

消除在移動瀏覽器上觸發click事件與一個物理Tap(敲擊)之間的300延遲

Sea.js 

提供簡單、極致的模組化開發體驗

· 簡單友好的模組定義規範Sea.js 遵循 CMD 規範,可以像 Node.js 一般書寫模組程式碼。

· 自然直觀的程式碼組織方式:依賴的自動載入、配置的簡潔清晰,可以讓我們更多地享受編碼的樂趣。