亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

iScroll.js 使用方法參考

2019-11-20 10:02:00
字體:
來源:轉載
供稿:網友

概要

iScroll 4 這個版本完全重寫了iScroll這個框架的原始代碼。這個項目的產生完全是因為移動版webkit瀏覽器(諸如iPhone,iPad,Android 這些系統上廣泛使用)
提供了一種本地化的方式來對一個限定了高度和寬度的元素的內容進行滑動。很不幸的是,這種情況下所有的web應用的頁面就不能夠包含具有position:absolute的頭、頁尾或者是一個內容可滾動的
中間區域。

然而,Android系統最新修訂版已經可以支持這種功能了(盡管支持的力度還不是特別好),Apple公司似乎不太情愿將one-finger滑動事件運用到div元素上。
除了以前版本的iScroll的特性以外,iScroll 4還包括如下的特性:

     (1)縮放(Pinch/Zoom)
    (2)拉動刷新(Pull up/down to refresh)
    (3)速度和性能提升
    (4)精確捕捉元素
    (5)自定義滾動條
      友情提示:iScroll 4并不是iScroll 3的簡易替代版本,API文檔已經不一樣了。同時考慮到此版本正處于測試期,一些API可能會有細微的變化。


使用指南

在此文檔中你會發現很多例子來教會你如何快速上手iScroll腳本庫。參看文中的demo小例子并仔細閱讀此文檔,可能有點小無聊,但是這篇文章中卻是iScroll這個腳本庫的精髓之所在哦。
iScroll需要對所要進行滾動的元素進行初始化,并且不限定一個頁面中使用iScroll的元素的個數(這里不考慮您的硬件配置)。滾動元素中內容的類型和長度在一定程度上將會影響iScroll腳本庫里
可以同時使用的元素的個數。
使用iScroll這個腳本庫時,DOM樹的結構要足夠簡單,移除不必要的標簽,盡量避免過多的標簽嵌套使用。
最優的使用iScroll的結構如下所示:

<div id="wrapper">    <ul>        <li></li>        .....    </ul></div>

在這個小例子中,ul標簽將會被滾動。iScroll一定要與滾動內容外面的wrapper進行聯系才會產生效果。
【注意事項】:
只有wrapper里的第一個子元素才可以滾動,如果你想要更多的元素可以滾動,那么你可以試試下面的這種寫法:

<div id="wrapper">    <div id="scroller">        <ul>          <li></li>           ...        </ul>        <ul>           <li></li>           ...        </ul>    </div></div>

在這個例子中,scroller這個元素可以滾動,即便它包含兩個ul元素

iScroll必須在調用之前實例化,你可以在下面幾種情況下對iScroll進行實例化:

  (1)使用onDOMContentLoaded事件實現滾動

適用于滾動內容只包含文字、圖片,并且所有的圖片都有固定的尺寸

<script src="iscroll.js"></script>    <script>        var myscroll;        function loaded(){              myscroll=new iScroll("wrapper");         }        window.addEventListener("DOMContentLoaded",loaded,false);     </script>

注意:myscroll這個變量是全局的,因此你可以在任何地方調用它

 ?。?)使用onLoad事件實現滾動

因為DOMContentLoaded事件是載入DOM結構后就會被調用,所以在圖片等元素未載入前可能無法確定滾動區域的長寬,此時可以使用onLoad事件來實現。

<script src="iscroll.js"><script>    <script>          var myscroll;          function loaded(){          setTimeout(function(){              myscroll=new iScroll("wrapper");           },100 );        }        window.addEventListener("load",loaded,false);     </script>

這種情況下iScroll會在頁面資源(包括圖片)加載完畢100ms之后得到初始化,這應該是一種比較安全的調用iScroll的方式。

  (3)inline初始化

這種情況會在頁面加載到js的時候就進行調用,此方法不推薦使用,但是很多javascript的大牛都在用這種方式,我又有什么理由不贊成呢?

<script src="iscroll.js"></script>          <div id="wrapper">              <ul>                <li></li>                 ...             </ul>         </div>    <script>          var myscroll=new iScroll("wrapper");    </script>

不過建議你使用一些框架的ready方法來安全調用iScroll(比如jquery里的ready())。

iScroll里傳遞的參數

  iScroll里的第二個參數允許你自定義一些內容,比如下面的這段代碼:

 <script>var myscroll=new iScroll("wrapper",{hScrollbar:false, vScrollbar:false});</script>

第二個參數通常都是一個對象,像上面的這個例子里就設定了不顯示滾動條。常用的參數如下:

               hScroll                 false 禁止橫向滾動 true橫向滾動 默認為true
               vScroll                 false 精致垂直滾動 true垂直滾動 默認為true
               hScrollbar            false隱藏水平方向上的滾動條
               vScrollbar            false 隱藏垂直方向上的滾動條
               fixedScrollbar      在iOS系統上,當元素拖動超出了scroller的邊界時,滾動條會收縮,設置為true可以禁止滾動條超出
                                        scroller的可見區域。默認在Android上為true, iOS上為false
               fadeScrollbar     false 指定在無漸隱效果時隱藏滾動條
               hideScrollbar     在沒有用戶交互時隱藏滾動條 默認為true
               bounce             啟用或禁用邊界的反彈,默認為true
               momentum       啟用或禁用慣性,默認為true,此參數在你想要保存資源的時候非常有用
               lockDirection       false取消拖動方向的鎖定, true拖動只能在一個方向上(up/down 或者left/right)

各種效果的實現

滾動刷新  'Pull to refresh' demo

        自從Twitter和一些Apple的本地化應用出現了這個效果之后,這個效果就變得非常流行。你可以看看這兒先一睹為快。
       最新版中,作者把把"pull to refresh"這個部分單分出來作為iScroll的一個額外插件。你可以點擊這兒看看pull to refresh是如何工作滴。你只需要做的就是自定義pullDownAction()這個方法。你可能需要一個ajax來加載新的內容,不過一旦DOM樹發生了變化要記得調用refresh這個方法來。需要記住的是在例子中我們加了1秒的延遲來模擬網絡的延遲效果。當然,如果你不想使用這個延遲,那就把setTimeout方法去掉就行了。

縮放(pinch / zoom)  'Pull to refresh' demo

        我們不得不面對一個事實,那就是光有滾動其實沒什么新意的。這就是為什么在iScroll 4這個版本里我們允許你可以放
        大和縮小。想要這個功能,只需要設置放大的參數zoom 為true即可實現利用手勢來放大和縮小。你可以看看這兒。
        雙擊放大和縮小的功能在iScroll 4里也是得到支持的。要使用縮放功能,你至少需要如下配置:              

 var myScroll =new iScroll("wrapper",{zoom:true});
       如果你想對縮放功能進行深度的自定義的話可以使用下面的一些選項:
               zoomMax   指定允許放大的最大倍數,默認為4
      【注意事項】:如果想要圖片縮放的效果很好的話要把他們放到硬件的合成層中。通俗點說,就是在所有需要縮放的img元素上使用-webkit-transform:translate3d(0,0,0)來實現,而且尤為重要的是,硬件的加速會占用大量資源,要謹慎使用,否則你的應用可能就此崩潰。

捕捉元素(snap and snap to element)  'Carousel' demo

  SNAP功能是判斷元素是否滑動到指定位置。通過這個效果可以制作花哨的跑馬燈效果。

  插件會自動分析滾動區域內相同標簽或相同大小的元素做為捕捉對象,也可以通過參數指定捕捉的對象    

var myscroll=new iScroll("wrapper",{            snap:true,            momentum:false,            hScrollbar:false,            vScrollbar: false         });

可以通過設置snap參數為指定標簽來設定捕捉對象。比如捕捉li標簽。

var myscroll=new iScroll("wrapper",{           snap:"li",           momentum:false,           hScrollbar:false,           vScrollbar:false        });

在這個例子中scroller可以捕捉到滾動區域中最左上角的li元素

自定義滾動條(custom scrollbars)
在iScroll 4這個版本中,可以利用一系列的css來自定義滾動條的呈現??梢越o滾動條添加一個class參數,如下:

var myscroll=new iScroll("wrapper",{  scrollbarClass: "myScrollbar"});

需要提醒的是,滾動條是由兩個元素組合而成的:容器和顯示器。容器同wrapper的高度相同,而顯示器則代表的是滾動條本身。
滾動條的HTML結構如下:

<div class="myScrollbarV"><div></div></div>.myscrollbarV{position:absolute;z-index:100;width:8px;bottom:7px;top:2px;right:1px; }.myScrollbarV > div {position:absolute;z-index:100;width:100%; /* The following is probably what you want to customize */background:-webkit-gradient(linear, 0 0, 100% 0, from(#f00), to(#900));border:1px solid #800;-webkit-background-clip:padding-box;-webkit-box-sizing:border-box;-webkit-border-radius:4px;-webkit-box-shadow:inset 1px 1px 0 rgba(255,255,255,0.5); }

通用方法:

(1)refresh                          在DOM樹發生變化時,應該調用此方法
eg: setTimeout(function () { myScroll.refresh(); }, 0);

(2)iScroll還提供了scrollTo, scrollToElement和scrollToPage三個方法讓你能夠通過javascript來控制滾動效果。
    scrollTo(x, y, time, relative):在指定的time時間內讓內容滾動條x/y的位置。如myScroll.scrollTo(0, -100, 200) 在200毫秒內Y軸向下滾動100像素。 myScroll.scrollTo(0, 10, 200, true)可以實現相對當前位置在200毫秒內Y軸向上滾動10像素的效果。
    scrollToElement(element, time):在指定的時間內滾動到指定的元素。如myScroll.scrollToElement('li:nth-child(10)', 100) 在100毫秒內滾動到第10個li元素的位置。第1個參數可以用CSS3中的選擇器來篩選元素。
    snapToPage(pageX, pageY, time):在200毫秒內從第1頁滾動到第2頁(0代表第1頁,1代表第2頁)。這個使用SNAP功能的時候可以調用這個函數。

(3)detroy()                       完全消除myscroll及其占用的內存空間
 eg: myscroll.destroy();
 myScroll = null;

iScroll的發展方向

表單域的支持
縮放的優化
更好的桌面瀏覽器的兼容性
onScrol事件的優化
加個哈希值的變化
DOM改變后自動刷新

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人精品aaaa网站| 日韩欧美一区视频| 中文字幕欧美日韩在线| 欧美性高潮床叫视频| 亚洲精品91美女久久久久久久| 欧洲亚洲妇女av| 91欧美精品午夜性色福利在线| 欧美激情免费在线| 日韩av在线一区二区| 自拍偷拍亚洲一区| 亚洲国产欧美一区二区丝袜黑人| 久久视频精品在线| 久久精品一本久久99精品| 日韩一级裸体免费视频| 热re99久久精品国产66热| 国产日韩在线亚洲字幕中文| 日韩在线观看视频免费| 久久偷看各类女兵18女厕嘘嘘| 欧美日韩999| 亚洲人成网站色ww在线| 亚洲欧美国产一本综合首页| 欧美日韩成人网| 欧美尤物巨大精品爽| 色综合久久88色综合天天看泰| 日韩日本欧美亚洲| 亚洲视频欧美视频| 97超视频免费观看| 国产精品久久久久久久久久久不卡| 色哟哟网站入口亚洲精品| 狠狠色噜噜狠狠狠狠97| 久久久噜噜噜久噜久久| 欧美激情视频一区二区三区不卡| 欧美日韩精品在线视频| 国产精品丝袜白浆摸在线| 欧美激情第99页| 久久影视电视剧凤归四时歌| 欧洲s码亚洲m码精品一区| 欧美日韩国产一中文字不卡| 亚洲福利视频久久| 在线电影中文日韩| 国产精品小说在线| 色播久久人人爽人人爽人人片视av| 中文字幕日韩精品在线| 久久久久久久久久av| 国产精品丝袜白浆摸在线| 在线观看日韩专区| 亚洲一区av在线播放| 成人黄色中文字幕| 欧美激情精品久久久久久黑人| 欧美激情第一页xxx| 97在线观看视频国产| 午夜剧场成人观在线视频免费观看| 欧美一乱一性一交一视频| 视频在线观看99| 日韩欧美在线视频日韩欧美在线视频| 亚洲国内精品在线| 91美女片黄在线观看游戏| 国产精品久久久久久久天堂| 亚洲深夜福利网站| 国色天香2019中文字幕在线观看| 91精品视频大全| 日本成人在线视频网址| 久久成人精品一区二区三区| 日韩成人网免费视频| 日韩欧美国产骚| 欧美国产日产韩国视频| xxxx欧美18另类的高清| 日韩精品一区二区三区第95| 欧美电影免费在线观看| 国产精品极品美女在线观看免费| 欧美成人中文字幕| 欧美有码在线观看| 欧美在线一区二区三区四| 高跟丝袜欧美一区| 国产成人97精品免费看片| 国产成人精品视频| 亚洲国产精品va| 国产欧美一区二区三区久久| 欧美在线日韩在线| 亚洲偷熟乱区亚洲香蕉av| 精品久久久久久中文字幕一区奶水| 91干在线观看| 最新日韩中文字幕| 欧美日韩裸体免费视频| 欧美极品在线播放| 亚洲美女动态图120秒| 国产精品99一区| 91九色综合久久| 高清欧美性猛交xxxx黑人猛交| 亚洲综合精品伊人久久| 久久中文字幕视频| 久久久久国色av免费观看性色| 亚洲女人天堂网| 日韩一区二区三区xxxx| 亚洲成**性毛茸茸| 国产精品高潮粉嫩av| 成人亚洲激情网| 91精品成人久久| 欧洲中文字幕国产精品| 992tv在线成人免费观看| 91麻豆国产语对白在线观看| 欧美—级高清免费播放| 韩国v欧美v日本v亚洲| 成人av电影天堂| 日韩精品一二三四区| 亚洲电影在线观看| 国产视频丨精品|在线观看| 日韩在线视频一区| 国产成人精品免高潮费视频| 日韩欧美国产视频| 精品视频在线播放免| 日本最新高清不卡中文字幕| 秋霞成人午夜鲁丝一区二区三区| 在线成人中文字幕| 国产日韩在线免费| 91国内在线视频| 91日韩在线播放| 91精品久久久久久久久久久久久| 久久久精品国产网站| 中国日韩欧美久久久久久久久| 欧美成人午夜剧场免费观看| 午夜剧场成人观在线视频免费观看| 在线看国产精品| 亚洲欧美国产视频| 亚洲区一区二区| 亚洲一级黄色av| 亚洲精品一区二区三区婷婷月| 亚洲精美色品网站| 欧美性感美女h网站在线观看免费| 国产精品福利小视频| 欧美剧在线观看| 91精品久久久久久| 日韩一区二区三区xxxx| 亚洲欧美在线第一页| 欧美成人精品影院| 欧美乱大交xxxxx另类电影| 色婷婷**av毛片一区| 国产精品6699| 亚洲国产成人爱av在线播放| 久久福利网址导航| 国产日韩视频在线观看| 2019av中文字幕| 777国产偷窥盗摄精品视频| 国产精品久久久久aaaa九色| 亚洲欧美日韩视频一区| 亚洲免费影视第一页| 国产91精品高潮白浆喷水| 97欧美精品一区二区三区| 国色天香2019中文字幕在线观看| 欧美黄色性视频| 国产91在线视频| 国产精品福利在线观看| 日韩精品亚洲视频| 欧美日韩亚洲一区二区三区| 伊人久久久久久久久久久| 中文字幕综合一区| 精品国产31久久久久久| 精品亚洲永久免费精品| 亲爱的老师9免费观看全集电视剧| 欧美精品videossex88| 国产丝袜一区二区三区免费视频| 国模极品一区二区三区| 91精品久久久久久久久久久久久| 国产精品自拍偷拍|