成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? 學習使用jquery iScroll.js移動端滾動條插件
全站頭部文字 我要出現在這里
學習使用jquery iScroll.js移動端滾動條插件 683 2024-03-10   

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

iScroll的產生完全是因為移動版webkit瀏覽器,例如在iPhone,Android 的移動設備上。
iScroll的使用方法:

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

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

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

<div id="wrapper">//overflow:hidden;
 <div id="first">
  //只有第一個DOM結構(ul)被實例化,這個DOM可以縱向或者橫向的滾動,
  //多出的內容會被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會被實例化。 注意:這里第一個DOM結構的ID(first)可以不寫,我只是為了方便大家識別才寫了個ID,但是最外層的ID(wrapper)一定要寫,因為在JS實例化的時候需要填寫這個ID:

var myScroll = new iScroll("wrapper");

iScroll應該如何實例化

既然說道了實例化,我們應該在什么時候實例化?據說實例化的方法有很多,但是我沒用過,我只說一種:
(1)在HTML(uw3c.html)頁面底部(body之后html之前)加載iscroll.js與當前頁面的uw3c.js,這樣能確保HTML的DOM結構能加載出來。
(2)在JS插入頁面DOM結構和數據之前實例化iScroll,也就是在JS的最開始實例化,因為之后可能會使用JS來插入DOM或者數據,這樣以來能確保在插入數據之前iScroll已經實例化了。

HTML://HTML結構

<html >
 <body>
  ...code...
 </body>
  //插入iscroll.js文件
 <script type="text/javascript" src="http://www.gimoo.net/t/1903/js/iscroll.js" > </script >
 //插入本頁面JS文件
 <script type="text/javascript" src="http://www.gimoo.net/t/1903/js/uw3c.js" > </script >
</html>

JS://JS文件內容

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

iScroll中的參數:

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

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

第二個參數內容如下,這個參數會控制iScroll的效果:

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

iScroll中的方法:

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

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

(2)refresh()方法:在DOM結構發生改變之后,需要刷新iScroll,否則滾動插件會實例化的不準確:

uw3c.refresh();//刷新iScroll

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

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

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

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

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

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


主站蜘蛛池模板: 阿妹的诺言| 陈宝莲徐锦江夜半2普通话| 荒笛子简谱| 在线播放你懂| 林智妍三级全部电影| 座头市 电影| 听说你喜欢我电视剧剧情介绍| 大奉打更人电视剧免费在线观看| 《鱼我所欲也》原文及译文| 借种电影| 吴雪雯| 舞男| 李白电影| 黄视频免费观看网站| 美人鱼公主| 炊事班的故事演员表| 忍者神龟 电影| va在线观看视频| 郑艳丽曹查理主演的影片| 婚前品味| 姐妹大结局45集剧情介绍| 黄视频在线网站| 李高| 王小凤| 胡晶| 子宫在肚子的哪个位置| 战无双| 阿尔法变频器说明书| 猫脸老太太电影完整版免费观看| 青草国产| 女生把人吃到胃里消化第一视角| 饥渴的爱| 万万没想到第三季| 陆廷威| 电影《神盾局特工》| 郭云飞| 唐砖演员表| 在线播放www| 红灯区观看| 朱莉安妮全集在线观看免费| 汤唯和梁朝伟拍戏原版视频在线观看|

?。?!站長長期在線接?。。?/p>

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103