基于html5的移動(dòng)web頁(yè)面搭建技術(shù)總結(jié)
1.1面向不同尺寸的手機(jī)屏幕,頁(yè)面布局適配問(wèn)題。
網(wǎng)頁(yè)的head里加入這條元標(biāo)簽,在iPhone的瀏覽器中頁(yè)面將以原始大小顯示,并不允許縮放。
width?-?viewport的寬度height?-?viewport的高度
initial-scale?-初始的縮放比例
minimum-scale?-允許用戶縮放到的最小比例
maximum-scale?-允許用戶縮放到的最大比例
user-scalable?-用戶是否可以手動(dòng)縮放
CSS3的媒體查詢media queries語(yǔ)法:@media:{ sRules }取值::指定設(shè)備名稱。
通過(guò)媒體查詢可以為不同大小和尺寸的媒體定義不同的css,適合相應(yīng)的設(shè)備顯示。
以下代碼實(shí)現(xiàn)了不同針對(duì)不同分辨率調(diào)整相應(yīng)的文本,內(nèi)容,元素的調(diào)整:
@media screen and (min-width:240px) {
html,body,button,input,select,textarea {
font-size: 9px
}
}
@media screen and (min-width:320px) {
html,body,button,input,select,textarea {
font-size: 14px;}
}
@media screen and (min-width:380px) {
html,body,button,input,select,textarea {
font-size: 15px
}
}
@media screen and (min-width:420px) {
html,body,button,input,select,textarea {
font-size: 16px
}
}
@media screen and (min-width:450px) {
html,body,button,input,select,textarea {
font-size: 18px
}
}
@media screen and (min-width:480px) {
html,body,button,input,select,textarea {
font-size: 19px
}
}
@media screen and (min-width:540px) {
html,body,button,input,select,textarea {
font-size: 20.25px
}
}
@media screen and (min-width:600px) {
html,body,button,input,select,textarea {
font-size: 22px
}
}
@media screen and (min-width:640px) {
html,body,button,input,select,textarea {
font-size: 24px
}
}
@media screen and (min-width:720px) {
html,body,button,input,select,textarea {
font-size: 28px
}
}
@media screen and (min-width:800px) {
html,body,button,input,select,textarea {
font-size:30px
}
}
@media screen and (min-width:880px) {
html,body,button,input,select,textarea {
font-size: 34px
}
}
@media screen and (min-width:960px) {
html,body,button,input,select,textarea {
font-size: 38px
}
}
盡量避免px布局,采用rem布局
PX特點(diǎn)
1. IE無(wú)法調(diào)整那些使用px作為單位的字體大??;
2.國(guó)外的大部分網(wǎng)站能夠調(diào)整的原因在于其使用了em或rem作為字體單位;
3. Firefox能夠調(diào)整px和em,rem,但是96%以上的中國(guó)網(wǎng)民使用IE瀏覽器(或內(nèi)核)。
px像素(Pixel)。相對(duì)長(zhǎng)度單位。像素px是相對(duì)于顯示器屏幕分辨率而言的。(引自CSS2.0手冊(cè))
em是相對(duì)長(zhǎng)度單位。相對(duì)于當(dāng)前對(duì)象內(nèi)文本的字體尺寸。如當(dāng)前對(duì)行內(nèi)文本的字體尺寸未被人為設(shè)置,則相對(duì)于瀏覽器的默認(rèn)字體尺寸。(引自CSS2.0手冊(cè))
任意瀏覽器的默認(rèn)字體高都是16px。所有未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。為了簡(jiǎn)化font-size的換算,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變?yōu)?6px*62.5%=10px,這樣12px=1.2em, 10px=1em,也就是說(shuō)只需要將你的原來(lái)的px數(shù)值除以10,然后換上em作為單位就行了。
EM特點(diǎn)
1. em的值并不是固定的;
2. em會(huì)繼承父級(jí)元素的字體大小。
所以我們?cè)趯慍SS的時(shí)候,需要注意兩點(diǎn):
1. body選擇器中聲明Font-size=62.5%;
2.將你的原來(lái)的px數(shù)值除以10,然后換上em作為單位;
3.重新計(jì)算那些被放大的字體的em數(shù)值。避免字體大小的重復(fù)聲明。
也就是避免1.2 * 1.2= 1.44的現(xiàn)象。比如說(shuō)你在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時(shí)就只能是1em,而不是1.2em,因?yàn)榇薳m非彼em,它因繼承#content的字體高而變?yōu)榱?em=12px。
rem特點(diǎn)
rem是CSS3新增的一個(gè)相對(duì)單位(root em,根em),這個(gè)單位引起了廣泛關(guān)注。這個(gè)單位與em有什么區(qū)別呢?區(qū)別在于使用rem為元素設(shè)定字體大小時(shí),仍然是相對(duì)大小,但相對(duì)的只是HTML根元素。這個(gè)單位可謂集相對(duì)大小和絕對(duì)大小的優(yōu)點(diǎn)于一身,通過(guò)它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)。目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。對(duì)于不支持它的瀏覽器,應(yīng)對(duì)方法也很簡(jiǎn)單,就是多寫一個(gè)絕對(duì)單位的聲明。這些瀏覽器會(huì)忽略用rem設(shè)定的字體大小。
視頻
HTML5
元素同樣擁有方法、屬性和事件。其中的方法用于播放、暫停以及加載等。其中的屬性(比如時(shí)長(zhǎng)、音量等)可以被讀取或設(shè)置。其中的DOM事件能夠通知您,比方說(shuō),元素開始播放、已暫停,已停止,等等。
具體使用demo如下:
播放/暫停
大
中
小
Your browser does not support HTML5 video.
varmyVideo=document.getElementById("video1");
functionplayPause()
{
if(myVideo.paused)
myVideo.play();
else
myVideo.pause();
}
functionmakeBig()
{
myVideo.width=560;
}
functionmakeSmall()
{
myVideo.width=320;
}
functionmakeNormal()
{
myVideo.width=420;
}
注意:html5對(duì)于mp4文件支持,只能夠?yàn)閔264編碼格式
音頻
HTML5規(guī)定了一種通過(guò)audio元素來(lái)包含音頻的標(biāo)準(zhǔn)方法。
audio元素能夠播放聲音文件或者音頻流。
具體使用demo如下:
Your browser does not support the audio element.
注意:某些Android手機(jī)對(duì)于聲音文件碼率要求較高,所以建議聲音文件盡量采用190kbps以上碼率
1.3輕量級(jí)的js庫(kù)Zepto.js+原生js代碼提高web頁(yè)面性能
Zepto.js的特點(diǎn):
1.他夠小,只有21k左右,功能俱全。
2.增加了移動(dòng)設(shè)備的觸摸等事件,不需要再次引入其他手機(jī)框架如jquery
mobile。
3.雖然不兼容ie但是提供了一個(gè)兼容方法:
document.write(‘
src=’+ (‘__proto__’in {} ?‘zepto’:‘jquery’) +‘.js><\/script>’) 。
1.4移動(dòng)網(wǎng)頁(yè)性能優(yōu)化
概述
1. PC優(yōu)化手段在Mobile側(cè)同樣適用
2.在Mobile側(cè)我們提出三秒種渲染完成首屏指標(biāo)
3.基于第二點(diǎn),首屏加載3秒完成或使用Loading
4.基于聯(lián)通3G網(wǎng)絡(luò)平均338KB/s(2.71Mb/s),所以首屏資源不應(yīng)超過(guò)1014KB
5. Mobile側(cè)因手機(jī)配置原因,除加載外渲染速度也是優(yōu)化重點(diǎn)
6.基于第五點(diǎn),要合理處理代碼減少渲染損耗
7.基于第二、第五點(diǎn),所有影響首屏加載和渲染的代碼應(yīng)在處理邏輯中后置
8.加載完成后用戶交互使用時(shí)也需注意性能
優(yōu)化指南
[加載優(yōu)化]
加載過(guò)程是最為耗時(shí)的過(guò)程,可能會(huì)占到總耗時(shí)的80%時(shí)間,因此是優(yōu)化的重點(diǎn)
·減少HTTP請(qǐng)求
因?yàn)槭謾C(jī)瀏覽器同時(shí)響應(yīng)請(qǐng)求為4個(gè)請(qǐng)求(Android支持4個(gè),iOS 5后可支持6個(gè)),所以要盡量減少頁(yè)面的請(qǐng)求數(shù),首次加載同時(shí)請(qǐng)求數(shù)不能超過(guò)4個(gè)
a)合并CSS、JavaScript
b)合并小圖片,使用雪碧圖
·緩存
使用緩存可以減少向服務(wù)器的請(qǐng)求數(shù),節(jié)省加載時(shí)間,所以所有靜態(tài)資源都要在服務(wù)器端設(shè)置緩存,并且盡量使用長(zhǎng)Cache(長(zhǎng)Cache資源的更新可使用時(shí)間戳)
a)緩存一切可緩存的資源
b)使用長(zhǎng)Cache(使用時(shí)間戳更新Cache)
c)使用外聯(lián)式引用CSS、JavaScript
·壓縮HTML、CSS、JavaScript
減少資源大小可以加快網(wǎng)頁(yè)顯示速度,所以要對(duì)HTML、CSS、JavaScript等進(jìn)行代碼壓縮,并在服務(wù)器端設(shè)置GZip
a)壓縮(例如,多余的空格、換行符和縮進(jìn))
b)啟用GZip
·無(wú)阻塞
寫在HTML頭部的JavaScript(無(wú)異步),和寫在HTML標(biāo)簽中的Style會(huì)阻塞頁(yè)面的渲染,因此CSS放在頁(yè)面頭部并使用Link方式引入,避免在HTML標(biāo)簽中寫Style,JavaScript放在頁(yè)面尾
部或使用異步方式加載
·使用首屏加載
首屏的快速顯示,可以大大提升用戶對(duì)頁(yè)面速度的感知,因此應(yīng)盡量針對(duì)首屏的快速顯示做優(yōu)化
·按需加載
將不影響首屏的資源和當(dāng)前屏幕資源不用的資源放到用戶需要時(shí)才加載,可以大大提升重要資源的顯示速度和降低總體流量
PS:按需加載會(huì)導(dǎo)致大量重繪,影響渲染性能
a) LazyLoad
b)滾屏加載
c)通過(guò)Media Query加載
·預(yù)加載
大型重資源頁(yè)面(如游戲)可使用增加Loading的方法,資源加載完成后再顯示頁(yè)面。但Loading時(shí)間過(guò)長(zhǎng),會(huì)造成用戶流失
對(duì)用戶行為分析,可以在當(dāng)前頁(yè)加載下一頁(yè)資源,提升速度
a)可感知Loading(如進(jìn)入空間游戲的Loading)
b)不可感知的Loading(如提前加載下一頁(yè))
·壓縮圖片
圖片是最占流量的資源,因此盡量避免使用他,使用時(shí)選擇最合適的格式(實(shí)現(xiàn)需求的前提下,以大小判斷),合適的大小,然后使用智圖壓縮,同時(shí)在代碼中用Srcset來(lái)按需顯示
PS:過(guò)度壓縮圖片大小影響圖片顯示效果
a)使用智圖(http://zhitu.tencent.com/)
b)使用其它方式代替圖片(1.使用CSS3?2.使用SVG?3.使用IconFont)
c)使用Srcset
d)選擇合適的圖片(1. webP優(yōu)于JPG?2. PNG8優(yōu)于GIF)
e)選擇合適的大小(1.首次加載不大于1014KB?2.不寬于640(基于手機(jī)屏幕一般寬度))
·減少Cookie
Cookie會(huì)影響加載速度,所以靜態(tài)資源域名不使用Cookie
·避免重定向
重定向會(huì)影響加載速度,所以在服務(wù)器正確設(shè)置避免重定向
·異步加載第三方資源
第三方資源不可控會(huì)影響頁(yè)面的加載和顯示,因此要異步加載第三方資源
[腳本執(zhí)行優(yōu)化]
腳本處理不當(dāng)會(huì)阻塞頁(yè)面加載、渲染,因此在使用時(shí)需當(dāng)注意
· CSS寫在頭部,JavaScript寫在尾部或異步
·避免圖片和iFrame等的空Src
空Src會(huì)重新加載當(dāng)前頁(yè)面,影響速度和效率
·盡量避免重設(shè)圖片大小
重設(shè)圖片大小是指在頁(yè)面、CSS、JavaScript等中多次重置圖片大小,多次重設(shè)圖片大小會(huì)引發(fā)圖片的多次重繪,影響性能
·圖片盡量避免使用DataURL
DataURL圖片沒(méi)有使用圖片的壓縮算法文件會(huì)變大,并且要解碼后再渲染,加載慢耗時(shí)長(zhǎng)
[CSS優(yōu)化]
·盡量避免寫在HTML標(biāo)簽中寫Style屬性
·避免CSS表達(dá)式
CSS表達(dá)式的執(zhí)行需跳出CSS樹的渲染,因此請(qǐng)避免CSS表達(dá)式
·移除空的CSS規(guī)則
空的CSS規(guī)則增加了CSS文件的大小,且影響CSS樹的執(zhí)行,所以需移除空的CSS規(guī)則
·正確使用Display的屬性
Display屬性會(huì)影響頁(yè)面的渲染,因此請(qǐng)合理使用
a) display:inline后不應(yīng)該再使用width、height、margin、padding以及float
b) display:inline-block后不應(yīng)該再使用float
c) display:block后不應(yīng)該再使用vertical-align
d) display:table-*后不應(yīng)該再使用margin或者float
·不濫用Float
Float在渲染時(shí)計(jì)算量比較大,盡量減少使用
·不濫用Web字體
Web字體需要下載,解析,重繪當(dāng)前頁(yè)面,盡量減少使用
·不聲明過(guò)多的Font-size
過(guò)多的Font-size引發(fā)CSS樹的效率
·值為0時(shí)不需要任何單位
為了瀏覽器的兼容性和性能,值為0時(shí)不要帶單位
·標(biāo)準(zhǔn)化各種瀏覽器前綴
a)無(wú)前綴應(yīng)放在最后
b) CSS動(dòng)畫只用(-webkit-無(wú)前綴)兩種即可
c)其它前綴為-webkit- -moz- -ms-無(wú)前綴四種,(-o-Opera瀏覽器改用blink內(nèi)核,所以淘汰)
·避免讓選擇符看起來(lái)像正則表達(dá)式
高級(jí)選擇器執(zhí)行耗時(shí)長(zhǎng)且不易讀懂,避免使用
[JavaScript執(zhí)行優(yōu)化]
·減少重繪和回流
a)避免不必要的Dom操作
b)盡量改變Class而不是Style,使用classList代替className
c)避免使用document.write
d)減少drawImage
·緩存Dom選擇與計(jì)算
每次Dom選擇都要計(jì)算,緩存他
·緩存列表.length
每次.length都要計(jì)算,用一個(gè)變量保存這個(gè)值
·盡量使用事件代理,避免批量綁定事件
·盡量使用ID選擇器
ID選擇器是最快的
· TOUCH事件優(yōu)化
使用touchstart、touchend代替click,因快影響速度快。但應(yīng)注意Touch響應(yīng)過(guò)快,易引發(fā)誤操作
[渲染優(yōu)化]
·HTML使用Viewport
Viewport可以加速頁(yè)面的渲染,請(qǐng)使用以下代碼
content=”width=device-width, initial-scale=1″>
·減少Dom節(jié)點(diǎn)
Dom節(jié)點(diǎn)太多影響頁(yè)面的渲染,應(yīng)盡量減少Dom節(jié)點(diǎn)
·動(dòng)畫優(yōu)化
a)盡量使用CSS3動(dòng)畫
b)合理使用requestAnimationFrame動(dòng)畫代替setTimeout
c)適當(dāng)使用Canvas動(dòng)畫5個(gè)元素以內(nèi)使用css動(dòng)畫,5個(gè)以上使用Canvas動(dòng)畫(iOS8可使用webGL)
·高頻事件優(yōu)化
Touchmove、Scroll事件可導(dǎo)致多次渲染
a)使用requestAnimationFrame監(jiān)聽?zhēng)兓?,使得在正確的時(shí)間進(jìn)行渲染
b)增加響應(yīng)變化的時(shí)間間隔,減少重繪次數(shù)
· GPU加速
CSS中以下屬性(CSS3 transitions、CSS3 3D transforms、Opacity、Canvas、WebGL、Video)來(lái)觸發(fā)GPU渲染,請(qǐng)合理使用
PS:過(guò)渡使用會(huì)引發(fā)手機(jī)過(guò)耗電增加
1.5touch事件,touchstart, touchend, touchmove
iOS上的Safari也支持click和mouseover等傳統(tǒng)的交互事件,只是不推薦在iOS的瀏覽器應(yīng)用上使用click和mouseover,因?yàn)檫@兩個(gè)事件是為了支持鼠標(biāo)點(diǎn)擊而設(shè)計(jì)出來(lái)的。Click事件在iOS上會(huì)有半秒左右的延遲,原因是iOS要highlight接收到click的element。而mouseover/out等事件則會(huì)被手指的點(diǎn)擊觸發(fā)。所以,在iOS上,應(yīng)當(dāng)拋棄傳統(tǒng)的交互事件模型而接受一個(gè)新的事件模型。Touch事件和更高級(jí)的Gesture事件,能讓你的網(wǎng)頁(yè)交互起來(lái)像native應(yīng)用一樣。
三種在規(guī)范中列出并獲得跨移動(dòng)設(shè)備廣泛實(shí)現(xiàn)的基本觸摸事件:
1.touchstart:手指放在一個(gè)DOM元素上。
2.touchmove:手指拖曳一個(gè)DOM元素。
3.touchend:手指從一個(gè)DOM元素上移開。
每個(gè)觸摸事件都包括了三個(gè)觸摸列表:
1. touches:當(dāng)前位于屏幕上的所有手指的一個(gè)列表。
2. targetTouches:位于當(dāng)前DOM元素上的手指的一個(gè)列表。
3. changedTouches:涉及當(dāng)前事件的手指的一個(gè)列表。
例如,在一個(gè)touchend事件中,這就會(huì)是移開的手指。
這些列表由包含了觸摸信息的對(duì)象組成:
1. identifier:一個(gè)數(shù)值,唯一標(biāo)識(shí)觸摸會(huì)話(touch
session)中的當(dāng)前手指。
2. target:DOM元素,是動(dòng)作所針對(duì)的目標(biāo)。
3.客戶/頁(yè)面/屏幕坐標(biāo):動(dòng)作在屏幕上發(fā)生的位置。
4.半徑坐標(biāo)和rotationAngle:畫出大約相當(dāng)于手指形狀的橢圓形。
在開始描述touch事件之前,需要先描述一下多觸式系統(tǒng)中特有的touch對(duì)象(android和iOS乃至nokia最新的meego系統(tǒng)都模擬了類似的對(duì)象,這里只針對(duì)iOS,因?yàn)?a target="_blank" rel="nofollow">我只有iPad可用于測(cè)試。。)。這個(gè)對(duì)象封裝一次屏幕觸摸,一般來(lái)自于手指。它在touch事件觸發(fā)的時(shí)候產(chǎn)生,可以通過(guò)touch event handler的event對(duì)象取到(一般是通過(guò)event.changedTouches屬性)。這個(gè)對(duì)象包括一些重要的屬性:
client / clientY:觸摸點(diǎn)相對(duì)于瀏覽器窗口viewport的位置
pageX / pageY:觸摸點(diǎn)相對(duì)于頁(yè)面的位置
screenX /screenY:觸摸點(diǎn)相對(duì)于屏幕的位置
identifier:touch對(duì)象的unique ID
我們從一個(gè)單根手指觸摸的實(shí)例開始進(jìn)入多觸式網(wǎng)頁(yè)的世界。當(dāng)一根手指放下的時(shí)候,屏幕上出現(xiàn)一個(gè)方塊,手指移動(dòng)方塊也隨著移動(dòng),手指提起方塊消失。首先,讓我們定義一下方塊的css:
*{margin:0;padding:0}
html,body{height:100%}
.spirit{position:absolute;width:50px;height:50px;background-color:red;}
#canvas{position:relative;width:100%;height:200px;background-color:#ccc}
然后,在body下定義一個(gè)接收事件的容器:
定義touchstart的事件處理函數(shù),并綁定事件:
var canvas =document.getElementById("canvas"),
spirit,
startX,
startY;
functiontouchStart(event) {
//阻止網(wǎng)頁(yè)默認(rèn)動(dòng)作(即網(wǎng)頁(yè)滾動(dòng))
event.preventDefault();
if(spirit || !event.touches.length) return;
var touch = event.touches[0];
startX = touch.pageX;
startY = touch.pageY;
spirit= document.createElement("div");
canvas.appendChild(spirit);
spirit.className = "spirit";
spirit.style.left = startX + "px";
spirit.style.top = startY + "px";
}
canvas.addEventListener("touchstart",touchStart, false);
首先,我們將方塊spirit作為一個(gè)全局對(duì)象,因?yàn)槲覀儸F(xiàn)在要測(cè)試單根手指所以屏幕上最好只有一個(gè)物體在移動(dòng)(等會(huì)有多觸實(shí)例)。在touchStart這個(gè)事件處理函數(shù)中,我們也首先判斷了是否已經(jīng)產(chǎn)生了spirit,也就是是否已經(jīng)有一個(gè)手指放到屏幕上,如果是,直接返回。
和傳統(tǒng)的event listener一樣,多觸式系統(tǒng)也會(huì)產(chǎn)生一個(gè)event對(duì)象,只不過(guò)這個(gè)對(duì)象要多出一些屬性,比如這里的event.touches,這個(gè)數(shù)組對(duì)象獲得屏幕上所有的touch。注意這里的event.preventDefault(),在傳統(tǒng)的事件處理函數(shù)中,這個(gè)方法阻止事件的默認(rèn)動(dòng)作,觸摸事件的默認(rèn)動(dòng)作是滾屏,我們不想屏幕動(dòng)來(lái)動(dòng)去的,所以先調(diào)用一下這個(gè)函數(shù)。我們?nèi)〉谝粋€(gè)touch,將其pageX/Y作為spirit創(chuàng)建時(shí)的初始位置。接下來(lái),我們創(chuàng)建一個(gè)div,并且設(shè)置className,left,top三個(gè)屬性。最后,我們把spirit對(duì)象appendChild到容器中。這樣,當(dāng)?shù)谝桓种阜畔碌臅r(shí)候,一個(gè)紅色的,50px見(jiàn)方的方塊就放到屏幕上了。
然后,我們要開始處理手指在屏幕上移動(dòng)的事件:
functiontouchMove(event) {
event.preventDefault();
if(!spirit || !event.touches.length) return;
var touch = event.touches[0],
x = touch.pageX - startX,
y = touch.pageY - startY;
//這里是為了手指一定是橫向滾動(dòng)的,原理是計(jì)算X位置的偏移要比Y的偏移大
if(Math.abs(x) > Math.abs(y)) {
spirit.style.left = touch.pageX + "px";
spirit.style.top = touch.pageY + "px";
}
}
canvas.addEventListener("touchmove", touchMove, false);
在touch move listener中,我們使用webkit特有的css屬性:webkitTransform來(lái)移動(dòng)方塊,這個(gè)屬性具體怎么用請(qǐng)google之。建議構(gòu)造面向iOS設(shè)備的網(wǎng)頁(yè)的時(shí)候盡量使用webkit自己的特性,不但炫,更可以直接利用硬件來(lái)提高性能。
最后,我們處理touchend事件。手指提起的時(shí)候方塊從屏幕上移除。
functiontouchEnd(event) {
if(!spirit) return;
canvas.removeChild(spirit);
spirit = null;
}
canvas.addEventListener("touchend",touchEnd, false);
2.2引用Zepto.js庫(kù)
2.4添加dom內(nèi)容
11111111
222222
33333
4444444
55555555
var myframe = new pageframe({
scene:'scene',
page:'page',
type :6,
loop :1,
auto :0,
callback : function(obj)
{
//alert(i);
//obj.css('background-color','red');
}
});
參數(shù)對(duì)著表
參數(shù)名稱
取值
Scene
容器div class
Page
頁(yè)面div class
Type
切換特效類型:0-普通橫滑,1-頁(yè)面橫滑,2-翻轉(zhuǎn)橫滑,3-翻頁(yè)橫滑,4-飛頁(yè)橫滑
5-普通豎滑,6-頁(yè)面豎滑,7-翻轉(zhuǎn)豎滑,8-翻頁(yè)豎滑,9-飛頁(yè)豎滑
Loop
是否支持循環(huán)切換:0-不支持1-支持
Callback
頁(yè)面切換完成后回調(diào)函數(shù)