最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

學(xué)習(xí)使用jquery iScroll.js移動端滾動條插件

 更新時間:2020年03月24日 08:49:31   作者:starof  
這篇文章主要為大家詳細(xì)介紹了jquery iScroll.js移動端滾動條插件的使用方法,以及iScroll.js使用注意事項(xiàng),具有一定的參考價值,感興趣的小伙伴們可以參考一下

大家在日常工作中最常用的插件是什么,jQurey?Lazyload?但是這些都是在PC端,但是在移動端最常用的插件莫過于iScroll了,iScroll到底是什么東西,應(yīng)該怎么用?iScroll是個很強(qiáng)大的插件,我也只是略懂皮毛,這里我們簡單的介紹一下。

iScroll的產(chǎn)生:

iScroll的產(chǎn)生完全是因?yàn)橐苿影鎤ebkit瀏覽器,例如在iPhone,Android 的移動設(shè)備上。

iScroll的使用方法:

iScroll的原理是外層有一個溢出隱藏(overflow:hidden;)的DOM,然后這個區(qū)域內(nèi)的第一個DOM結(jié)構(gòu)會被實(shí)例化,其包裹的內(nèi)容可以縱向或者橫向的滾動,所以在使用iScroll的時候,滾動元素要盡量的簡單,減少DOM個數(shù),減少嵌套,因?yàn)镈OM結(jié)構(gòu)越是復(fù)雜iScroll運(yùn)行起來就越是吃力,有可能會造成某些節(jié)點(diǎn)顯示不正常的情況。 所以,推薦使用的DOM結(jié)構(gòu)如下:

<div id="wrapper">//overflow:hidden;
 <ul>
 //只有第一個DOM結(jié)構(gòu)(ul)被實(shí)例化,這個DOM可以縱向或者橫向的滾動,
 //多出的內(nèi)容會被wrapper的樣式hidden。
 <li>1</li>
 <li>2</li>
 <li>3</li>
 </ul>
</div>

注意:再次重申,只有wrapper里的第一個子元素(ul)才可以被實(shí)例化滾動,并且要結(jié)合外層的DOM(wrapper)才能實(shí)現(xiàn)滾動。
如果 wrapper中有多個ul怎么辦?很簡單,記住那句話,只有wrapper里的第一個子元素(ul)才可以被實(shí)例化滾動:

<div id="wrapper">//overflow:hidden;
 <div id="first">
 //只有第一個DOM結(jié)構(gòu)(ul)被實(shí)例化,這個DOM可以縱向或者橫向的滾動,
 //多出的內(nèi)容會被wrapper的樣式hidden
 <ul>
 <li>1</li>
 <li>2</li>
 <li>3</li>
 </ul>
 <ul>
 <li>4</li>
 <li>5</li>
 <li>6</li>
 </ul>
 </div>
</div>

看到了吧,只有first會被實(shí)例化。 注意:這里第一個DOM結(jié)構(gòu)的ID(first)可以不寫,我只是為了方便大家識別才寫了個ID,但是最外層的ID(wrapper)一定要寫,因?yàn)樵贘S實(shí)例化的時候需要填寫這個ID:

var myScroll = new iScroll("wrapper");

iScroll應(yīng)該如何實(shí)例化

既然說道了實(shí)例化,我們應(yīng)該在什么時候?qū)嵗???jù)說實(shí)例化的方法有很多,但是我沒用過,我只說一種:
(1)在HTML(uw3c.html)頁面底部(body之后html之前)加載iscroll.js與當(dāng)前頁面的uw3c.js,這樣能確保HTML的DOM結(jié)構(gòu)能加載出來。
(2)在JS插入頁面DOM結(jié)構(gòu)和數(shù)據(jù)之前實(shí)例化iScroll,也就是在JS的最開始實(shí)例化,因?yàn)橹罂赡軙褂肑S來插入DOM或者數(shù)據(jù),這樣以來能確保在插入數(shù)據(jù)之前iScroll已經(jīng)實(shí)例化了。

HTML://HTML結(jié)構(gòu)

<html >
 <body>
 ...code...
 </body>
 //插入iscroll.js文件
 <script type="text/javascript" src="js/iscroll.js" > </script >
 //插入本頁面JS文件
 <script type="text/javascript" src="js/uw3c.js" > </script >
</html>

 JS://JS文件內(nèi)容

var myscroll;
 function iscroll(data){
 //實(shí)例化iScroll
 myscroll=new iScroll("wrapper");
 pageData(data);
 }
 function pageData(obj){
 $("body").html(obj);
 myscroll.refresh();//當(dāng)DOM結(jié)構(gòu)發(fā)生變化的時候,需要刷新iScroll
 }
 iscroll("<div>pagedata</div>");

iScroll中的參數(shù):

在實(shí)例化iScroll的時候,可以傳入兩個參數(shù),第一個參數(shù)是實(shí)例化的外層的DOM的ID,第二個參數(shù)是iScroll執(zhí)行方法的對象:

var myscroll=new iScroll("wrapper",{hScrollbar:false});
或者
var opts = {
 vScroll:false,//禁止垂直滾動
 snap:true,//執(zhí)行傳送帶效果
 hScrollbar:false//隱藏水平方向上的滾動條
 };
var myscroll = new iScroll("wrapper",opts);

第二個參數(shù)內(nèi)容如下,這個參數(shù)會控制iScroll的效果:

hScroll false 禁止橫向滾動 true橫向滾動 默認(rèn)為true
vScroll false 禁止垂直滾動 true垂直滾動 默認(rèn)為true
hScrollbar false隱藏水平方向上的滾動條
vScrollbar false 隱藏垂直方向上的滾動條
fadeScrollbar false 指定在無漸隱效果時隱藏滾動條
hideScrollbar 在沒有用戶交互時隱藏滾動條 默認(rèn)為true
bounce 啟用或禁用邊界的反彈,默認(rèn)為true
momentum 啟用或禁用慣性,默認(rèn)為true,此參數(shù)在你想要保存資源的時候非常有用
lockDirection false取消拖動方向的鎖定,true拖動只能在一個方向上(up/down 或者left/right)

iScroll中的方法:

當(dāng)然在第二個參數(shù)中,也有一些方法可以執(zhí)行:
(1)scrollTo(x, y, time, relative)方法:傳入4個參數(shù):X軸滾動距離,Y軸滾動距離,效果時間,是否相對當(dāng)前位置。所以例如:

//在200毫秒的時間內(nèi),Y軸向上滾動100像素;
uw3c.scrollTo(0, -100, 200)
//在200毫秒的時間內(nèi),相對于當(dāng)前位置,X軸向左滾動100像素;
uw3c.scrollTo(-100, 0, 200, true)

(2)refresh()方法:在DOM結(jié)構(gòu)發(fā)生改變之后,需要刷新iScroll,否則滾動插件會實(shí)例化的不準(zhǔn)確:

uw3c.refresh();//刷新iScroll

(3)onPosChange,有沒有一個方法能返回位置的變化?你可以查詢一下自己所用的iScroll中有沒有onPosChange方法:

onPosChange:function(x,y){
 if(y < -200){
 //如果Y周向上滾動200像素,$("#uw3c")就顯示,否則就隱藏。
 $("#uw3c").show();
 }else{
 $("#uw3c").hide();
 }
}

(4)onScrollEnd:滾動結(jié)束時執(zhí)行的事件,如果想在滾動結(jié)束時出發(fā)摸個事件,這個方法就拍上用處了:

//滾動結(jié)束后,執(zhí)行的方法,滾動后會出現(xiàn)提示框alert("uw3c.com")
onScrollEnd:function(){
 alert("uw3c.com");
}

(5)onRefresh:在DOM結(jié)構(gòu)發(fā)生改變之后,需要刷新iScroll,否則滾動插件會實(shí)例化的不準(zhǔn)確,onRefresh是刷新完iScroll會執(zhí)行的方法。
(6)onBeforeScrollStart:開始滾動前的時間回調(diào),默認(rèn)是阻止瀏覽器默認(rèn)行為 。
(7)onScrollStart:開始滾動的回調(diào)。
(8)onBeforeScrollMove:在內(nèi)容移動前的回調(diào)。
(9)onScrollMove:內(nèi)容移動的回調(diào)。
(10)onBeforeScrollEnd:在滾動結(jié)束前的回調(diào)。
(11)onTouchEnd:手離開屏幕后的回調(diào)。
(12)onDestroy:銷毀實(shí)例的回調(diào)。

以上就是本文的全部內(nèi)容,希望對大家熟練使用iScroll.js移動端滾動條插件有所幫助。

相關(guān)文章

最新評論

定结县| 分宜县| 精河县| 周口市| 嘉峪关市| 青冈县| 香格里拉县| 神农架林区| 新宁县| 井陉县| 灵石县| 黄骅市| 江城| 怀柔区| 卢湾区| 固原市| 洪雅县| 荣昌县| 南雄市| 奉化市| 乌苏市| 许昌县| 南京市| 迭部县| 平和县| 徐州市| 顺义区| 确山县| 镇安县| 江永县| 永登县| 明溪县| 望江县| 德阳市| 辉县市| 沅江市| 许昌市| 城口县| 大埔县| 沙湾县| 措勤县|