ホームページ > ウェブフロントエンド > jsチュートリアル > jquery iScroll.js モバイル スクロール バー plug-in_jquery の使い方を学ぶ

jquery iScroll.js モバイル スクロール バー plug-in_jquery の使い方を学ぶ

WBOY
リリース: 2016-05-16 15:13:28
オリジナル
1264 人が閲覧しました

あなたの毎日の仕事で最もよく使われるプラグインは何ですか?jQurey?レイジーロード?ただし、これらはすべて PC 側のものですが、モバイル側で最もよく使用されるプラグインは iScroll とは何ですか?また、どのように使用する必要がありますか? iScroll は非常に強力なプラグインですが、私は表面的にしか理解していません。ここで簡単に紹介します。
iScroll の生成:

iScroll は、iPhone や Android モバイル デバイスなどのモバイル Webkit ブラウザーのために完全に作成されました。
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>
ログイン後にコピー

注: 繰り返しますが、スクロール用にインスタンス化できるのはラッパー内の最初の子要素 ​​(ul) のみであり、スクロールは外側の DOM (ラッパー) と組み合わせて実行する必要があります。
ラッパー内に複数の ul がある場合はどうなりますか?これは非常に簡単な文であることを思い出してください。ラッパー内の最初の子要素 ​​(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>
ログイン後にコピー
ご覧のとおり、最初のみインスタンス化されます。 注: 最初の DOM 構造 (first) の ID は、ここでは記述する必要はありません。ここでは、誰もが識別しやすいように ID を書きましたが、一番外側の ID (ラッパー) は、JS をインスタンス化するときに必要になるため、記述する必要があります。このID:

var myScroll = new iScroll("wrapper");
ログイン後にコピー

iScroll をインスタンス化する方法:

インスタンス化について話しましたが、いつインスタンス化すればよいでしょうか?インスタンス化には多くの方法があると言われていますが、私はそれを使用したことがありません。

の 1 つだけを説明します。 (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="js/iscroll.js" > </script >
 //插入本页面JS文件
 <script type="text/javascript" src="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 をインスタンス化する場合、2 つのパラメーターを渡すことができます。最初のパラメーターはインスタンス化された外部 DOM の ID で、2 番目のパラメーターは iScroll 実行メソッドのオブジェクトです。

var myscroll=new iScroll("wrapper",{hScrollbar:false});
或者
var opts = {
    vScroll:false,//禁止垂直滚动
    snap:true,//执行传送带效果
    hScrollbar:false//隐藏水平方向上的滚动条
   };
var myscroll = new iScroll("wrapper",opts);
ログイン後にコピー
2 番目のパラメータの内容は次のとおりです。このパラメータは 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 のメソッド:

もちろん、2 番目のパラメータには、実行できるメソッドもいくつかあります。

(1)scrollTo(x, y, time,relative)メソッド:X軸のスクロール距離、Y軸のスクロール距離、効果時間、現在位置からの相対かどうかの4つのパラメータを渡します。たとえば:

//在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 モバイル スクロール バー プラグインを上手に使用できるようになれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート