スクロールモニター(Scrollspy)ウィジェットブートストラップ
スクロールモニター(Scrollspy)プラグイン、自動的にナビゲーションウィジェットは自動的にスクロールバーの位置に基づいて、対応するナビゲーション・ターゲットを更新更新します。 あなたがスクロールすると、基本的な実装では、ナビゲーションバーに追加のスクロールバーの位置ベースの.activeクラスです。
あなたは、個々のプラグイン機能を参照したい場合は、scrollspy.jsを参照する必要があります。 または、 ブートストラッププラグインの概要章で述べたように、あなたはbootstrap.jsまたはbootstrap.min.jsの圧縮バージョンを参照することができます。
使用法
あなたは、ナビゲーション・モニター・行動の先頭にスクロールを追加することができます。
- データ属性を使用して:あなたは、データスパイ= "スクロール"を追加する要素(通常は体)を聴きたいです。その後、ブートストラップ .nav部品属性データ、ターゲットと親要素のIDやクラスを追加します。それが正しく機能するために、あなたはIDのモニター・エレメントが存在するリンクしたいページの本文で一致したことを確認する必要があります。
<ボディデータスパイ= "スクロール"データターゲット= "。ナビゲーションバー-例"> ... <DIVクラス= "ナビゲーションバー-例"> <ULクラス= "NAV NAV-タブ"> ... </ UL> </ DIV> ... </ BODY>
- JavaScriptので:あなたは()関数.scrollspyを呼び出して、聞くための要素を選択するために聞くためにJavaScript呼び出しをスクロールすることができます。
。$( 'ボディ')scrollspy({対象: '.navbar-例'})
例
次の例では、データをスクロールを使用するプラグイン(Scrollspy)を監視属性を示しています。
例
<ナビゲーション idが = "ナビゲーションバー-例」 クラス= "ナビゲーションバーは、ナビゲーションバー、デフォルトナビゲーションバー -static" 役割 = "ナビゲーション">
<DIV クラス = "コンテナ流体">
<DIV クラス = "ナビゲーションバーヘッダー">
<ボタン クラス = "ナビバートグル」 = "ボタン"を入力 データトグル = "崩壊"
データターゲット= ".BS-jsから -navbar-scrollspy">
<スパン クラス = "SR-のみ"> ナビゲーション </スパンの 切り替え >
<スパン クラス= "アイコンバー"> </ span>の
<スパン クラス= "アイコンバー"> </ span>の
<スパン クラス= "アイコンバー"> </ span>の
</ボタン>
<A クラス = "ナビゲーションバーブランド" href = "#"> チュートリアル名 </ A>
</ DIV>
<DIV クラス= "崩壊のナビゲーションバー-崩壊BS > -js-ナビバー-scrollspy」
<UL クラス= "NAVナビゲーションバー-NAV" >
<李> <A href = "#ios"> iOSの< / A> </ LI>
<李> <A href = "#svn"> SVN < / A> </ LI>
<李 クラス = "]プルダウン">
<A href = "#" ID = "navbarDrop1" クラス = "ドロップダウン、トグル」
データトグル=> "]プルダウン" Javaの<B クラス= "カレット"> </ B>
</ A>
<UL クラス = "ドロップダウンメニュー」 役割 = "メニュー"
アリア-labelledbyの = "navbarDrop1">
<李> <A href = "#jmeter" でtabindex = "-1"> JMeterの< / A> </ LI>
<李> <A href = "#ejb" でtabindex = "-1">のejb < / A> </ LI>
<李 クラス= "分周器"> </ LI>
<李> <A href = "#spring" でtabindex = "-1">春< / A> </ LI>
</ UL>
</李>
</ UL>
</ DIV>
</ DIV>
</ナビゲーション>
<DIV データスパイ = "スクロール" データターゲット= "#navbar-例」 データオフセット = "0"
スタイル= "高さ:200pxの、オーバーフロー :自動;位置:相対;">
<H4 ID = "IOS"> iOSの< / H4>
<P>のiOSが 開発 され 、Appleのモバイルオペレーティングシステムで公開されています。 もともと2007年に初めてiPhone、iPod TouchとApple TVのためにリリースしました。 iOSのは、彼らはダーウィンの基盤を共有し、OS Xに由来します。 OS XオペレーティングシステムをMacで使用されている、iOSのは、Appleのモバイル版です。 </ P>
<H4 ID = "SVN"> SVN < / H4>
<P>はApache Subversionは、 多くの場合SVN略さ、オープンソースのバージョン管理システムソフトウェアがあります。 CollabNetのSubversionは、2000年に会社が作成しました。 しかし、今では、Apache Software Foundationのプロジェクトとして開発した、それは豊富な開発者とユーザーコミュニティを持っています。 </ P>
<H4 ID = "JMeterの"> JMeterの< / H4>
<P> JMeterは 、オープンソース・テスト・ソフトウェアです。 これは、負荷およびパフォーマンステストのための100%純粋なJavaアプリケーションです。 </ P>
<H4 ID = "EJB"> EJB < / H4>
<P>エンタープライズJavaBean(EJBは ) J2EEの(例えばJBOSS、ウェブロジックなど)互換のアプリケーションサーバにデプロイされ、高度にスケーラブルで堅牢なエンタープライズ・アプリケーションを作成するための開発フレームワークです。 </ P>
<H4 ID = "春">春< / H4>
<P> Spring フレーム ワークは、強力なJavaアプリケーションを迅速に開発するためのオープンソースのJavaプラットフォームは、完全なインフラストラクチャのサポートを提供していますです。 </ P>
<P>もともと2003年6月にRod Johnson氏によって書かれた Spring フレームワークは、最初にApache 2.0ライセンスの下でリリースされました。 </ P>
</ DIV>
»をお試しください
結果は以下の通りであります:
オプション
データ属性またはJavaScriptを通過します。 次の表は、これらのオプションを示します:
选项名称 | 类型/默认值 | Data 属性名称 | 描述 |
---|---|---|---|
offset | number 默认值:10 | data-offset | 当计算滚动位置时,距离顶部的偏移像素。 |
ウェイ
.scrollspy( 'リフレッシュ'):JavaScriptの方法によりscrollspyに電話をかけるときは、DOMを更新する方法を.refresh呼び出す必要があります。これは、DOM要素の任意の時点で発生する(それはあなたが特定の要素を追加または削除、である)を変更することが有用です。 ここでは、このメソッドの構文は次のとおりです。$( '[データ-スパイ= "スクロール"]')。各(関数(){ 変数$スパイ= $(この).scrollspy( 'リフレッシュ') })
例
次の例では、.scrollspy( 'リフレッシュ')メソッドを示しています。
例
<ナビゲーション ID = "myScrollspy" クラス= "ナビゲーションバーは、ナビゲーションバー、デフォルトナビゲーションバー -static" 役割 = "ナビゲーション">
<DIV クラス = "コンテナ流体">
<DIV クラス = "ナビゲーションバーヘッダー">
<ボタン クラス = "ナビバートグル」 = "ボタン"を入力 データトグル = "崩壊"
データターゲット= ".BS-jsから -navbar-scrollspy">
<スパン クラス = "SR-のみ"> ナビゲーション </スパンの 切り替え >
<スパン クラス= "アイコンバー"> </ span>の
<スパン クラス= "アイコンバー"> </ span>の
<スパン クラス= "アイコンバー"> </ span>の
</ボタン>
<A クラス = "ナビゲーションバーブランド" href = "#"> チュートリアル名 </ A>
</ DIV>
<DIV クラス= "崩壊のナビゲーションバー-崩壊BS > -js-ナビバー-scrollspy」
<UL クラス= "NAVナビゲーションバー-NAV" >
<李 クラス = "アクティブ"> <A href = "#ios"> iOSの< / A> </ LI>
<李> <A href = "#svn"> SVN < / A> </ LI>
<李 クラス = "]プルダウン">
<A href = "#" ID = "navbarDrop1" クラス = "ドロップダウン、トグル」
データトグル=> "]プルダウン" Javaの<B クラス= "カレット"> </ B>
</ A>
<UL クラス = "ドロップダウンメニュー」 役割 = "メニュー"
アリア-labelledbyの = "navbarDrop1">
<李> <A href = "#jmeter" でtabindex = "-1"> JMeterの< / A> </ LI>
<李> <A href = "#ejb" でtabindex = "-1">のejb < / A> </ LI>
<李 クラス= "分周器"> </ LI>
<李> <A href = "#spring" でtabindex = "-1">春< / A> </ LI>
</ UL>
</李>
</ UL>
</ DIV>
</ DIV>
</ナビゲーション>
<DIV データスパイ = "スクロール" データターゲット = "#myScrollspy" データオフセット = "0"
スタイル= "高さ:200pxの、オーバーフロー :自動;位置:相対;">
<DIV クラス = "セクション">
<H4 ID = "IOS"> iOSの<小> <A href = "#" onclickの= "removeSection(この); ">
&倍の; </ A> </小> の部分を削除します
</ H4>
<P>のiOSが 開発 され 、Appleのモバイルオペレーティングシステムで公開されています。 もともと2007年に初めてiPhone、iPod TouchとApple TVのためにリリースしました。 iOSのは、彼らはダーウィンの基盤を共有し、OS Xに由来します。 OS XオペレーティングシステムをMacで使用されている、iOSのは、Appleのモバイル版です。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "SVN"> SVN <小> </小> </ H4>
<P>はApache Subversionは、 多くの場合SVN略さ、オープンソースのバージョン管理システムソフトウェアがあります。 CollabNetのSubversionは、2000年に会社が作成しました。 しかし、今では、Apache Software Foundationのプロジェクトとして開発した、それは豊富な開発者とユーザーコミュニティを持っています。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "JMeterの"> JMeterの<小> <A href = "#" onclickの= "removeSection(この); ">
&倍の; </ A> </小> の部分を削除します
</ H4>
<P> JMeterは 、オープンソース・テスト・ソフトウェアです。 これは、負荷およびパフォーマンステストのための100%純粋なJavaアプリケーションです。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "EJB"> EJB < / H4>
<P>エンタープライズJavaBean(EJBは ) J2EEの(例えばJBOSS、ウェブロジックなど)互換のアプリケーションサーバにデプロイされ、高度にスケーラブルで堅牢なエンタープライズ・アプリケーションを作成するための開発フレームワークです。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "春">春< / H4>
<P> Spring フレーム ワークは、強力なJavaアプリケーションを迅速に開発するためのオープンソースのJavaプラットフォームは、完全なインフラストラクチャのサポートを提供していますです。 </ P>
<P>もともと2003年6月にRod Johnson氏によって書かれた Spring フレームワークは、最初にApache 2.0ライセンスの下でリリースされました。 </ P>
</ DIV>
</ DIV>
。<スクリプト> $(関数( ){removeSection =関数(E){$(e)の.parents(「節」)(削除);. $( '[データ-スパイ= "スクロール"]')それぞれの( 関数(){変数$スパイ= $(この).scrollspy( 'リフレッシュ')});} $( "#myScrollspy」)scrollspy();.}); </ script>の
»をお試しください
結果は以下の通りであります:
イベント
次の表は、モニターがイベントをスクロールするために使用することを示しています。 これらのイベントは時フック関数を使用することができます。
事件 | 描述 | 实例 |
---|---|---|
activate.bs.scrollspy | 每当一个新项目被滚动监听激活时,触发该事件。 |
$('#myScrollspy').on('activate.bs.scrollspy', function () { // 执行一些动作... }) |
例
次の例では、activate.bs.scrollspyイベントの使用方法を示しています。
例
<ナビゲーション ID = "myScrollspy" クラス= "ナビゲーションバーは、ナビゲーションバー、デフォルトナビゲーションバー -static" 役割 = "ナビゲーション">
<DIV クラス = "コンテナ流体">
<DIV クラス = "ナビゲーションバーヘッダー">
<ボタン クラス = "ナビバートグル」 = "ボタン"を入力 データトグル = "崩壊"
データターゲット= ".BS-jsから -navbar-scrollspy">
<スパン クラス = "SR-のみ"> ナビゲーション </スパンの 切り替え >
<スパン クラス= "アイコンバー"> </ span>の
<スパン クラス= "アイコンバー"> </ span>の
<スパン クラス= "アイコンバー"> </ span>の
</ボタン>
<A クラス = "ナビゲーションバーブランド" href = "#"> チュートリアル名 </ A>
</ DIV>
<DIV クラス= "崩壊のナビゲーションバー-崩壊BS > -js-ナビバー-scrollspy」
<UL クラス= "NAVナビゲーションバー-NAV" >
<李 クラス = "アクティブ"> <A href = "#ios"> iOSの< / A> </ LI>
<李> <A href = "#svn"> SVN < / A> </ LI>
<李 クラス = "]プルダウン">
<A href = "#" ID = "navbarDrop1" クラス = "ドロップダウン、トグル」
データトグル=> "]プルダウン" Javaの<B クラス= "カレット"> </ B>
</ A>
<UL クラス = "ドロップダウンメニュー」 役割 = "メニュー"
アリア-labelledbyの = "navbarDrop1">
<李> <A href = "#jmeter" でtabindex = "-1"> JMeterの< / A> </ LI>
<李> <A href = "#ejb" でtabindex = "-1">のejb < / A> </ LI>
<李 クラス= "分周器"> </ LI>
<李> <A href = "#spring" でtabindex = "-1">春< / A> </ LI>
</ UL>
</李>
</ UL>
</ DIV>
</ DIV>
</ナビゲーション>
<DIV データスパイ = "スクロール" データターゲット = "#myScrollspy" データオフセット = "0"
スタイル= "高さ:200pxの、オーバーフロー :自動;位置:相対;">
<DIV クラス = "セクション">
<H4 ID = "IOS"> iOSの<小> <A href = "#" onclickの= "removeSection(この); ">
&倍の; </ A> </小> の部分を削除します
</ H4>
<P>のiOSが 開発 され 、Appleのモバイルオペレーティングシステムで公開されています。 もともと2007年に初めてiPhone、iPod TouchとApple TVのためにリリースしました。 iOSのは、彼らはダーウィンの基盤を共有し、OS Xに由来します。 OS XオペレーティングシステムをMacで使用されている、iOSのは、Appleのモバイル版です。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "SVN"> SVN <小> </小> </ H4>
<P>はApache Subversionは、 多くの場合SVN略さ、オープンソースのバージョン管理システムソフトウェアがあります。 CollabNetのSubversionは、2000年に会社が作成しました。 しかし、今では、Apache Software Foundationのプロジェクトとして開発した、それは豊富な開発者とユーザーコミュニティを持っています。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "JMeterの"> JMeterの<小> <A href = "#" onclickの= "removeSection(この); ">
&倍の; </ A> </小> の部分を削除します
</ H4>
<P> JMeterは 、オープンソース・テスト・ソフトウェアです。 これは、負荷およびパフォーマンステストのための100%純粋なJavaアプリケーションです。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "EJB"> EJB < / H4>
<P>エンタープライズJavaBean(EJBは ) J2EEの(例えばJBOSS、ウェブロジックなど)互換のアプリケーションサーバにデプロイされ、高度にスケーラブルで堅牢なエンタープライズ・アプリケーションを作成するための開発フレームワークです。 </ P>
</ DIV>
<DIV クラス = "セクション">
<H4 ID = "春">春< / H4>
<P> Spring フレーム ワークは、強力なJavaアプリケーションを迅速に開発するためのオープンソースのJavaプラットフォームは、完全なインフラストラクチャのサポートを提供していますです。 </ P>
<P>もともと2003年6月にRod Johnson氏によって書かれた Spring フレームワークは、最初にApache 2.0ライセンスの下でリリースされました。 </ P>
</ DIV>
</ DIV>
<スパン ID = "activeitem" スタイル= "色:赤;" > </ span>の
。<スクリプト> $(関数( ){removeSection =関数(E){$(e)の.parents(「節」)(削除);. $( '[データ-スパイ= "スクロール"]')それぞれの( 関数(){変数$スパイ= $(この).scrollspy( 'リフレッシュ')});} $( "#のmyScrollspy」)scrollspy(); ..( 'activate.bs上の$('#のmyScrollspy ')。 scrollspy '、関数(){VARのCurrentItem = $( "NAV li.active>。")テキスト(); $( "#のactiveitem」)HTMLは(" あなたが現在表示している- "+のCurrentItem); .. }) }); </ script>の
»をお試しください
結果は以下の通りであります:
より多くの例
水平スクロールリスニングを作成します。
次の例では、水平スクロールリスナーを作成する方法を示します。
例
< -ナビゲーションバー:!するために使用され 、スクロール可能な領域内のセクションにジャンプ- >
<ナビゲーションクラス= "ナビゲーションバーnavbar-逆ナビゲーションバーに固定されたトップ">
...
<ULクラス= "NAV navbar- NAV">
<李> <aのHREF = "#section1">項1 </ A> </ LI>
...
</ナビゲーション>
<! -スクロール可能な領域- >
<DIVデータスパイ= "スクロール "データターゲット= ".navbar"データ・オフセット= "12">
<! -第1節- >
<DIVの ID = "セクション1">
<H1>セクション1 </ H1 >
<P>このページをスクロールしてみてくださいとスクロールしながらナビゲーションバーを見てください!</ P>
</ DIV>
...
</ DIV>
<ナビゲーションクラス= "ナビゲーションバーnavbar-逆ナビゲーションバーに固定されたトップ">
...
<ULクラス= "NAV navbar- NAV">
<李> <aのHREF = "#section1">項1 </ A> </ LI>
...
</ナビゲーション>
<! -スクロール可能な領域- >
<DIVデータスパイ= "スクロール "データターゲット= ".navbar"データ・オフセット= "12">
<! -第1節- >
<DIVの ID = "セクション1">
<H1>セクション1 </ H1 >
<P>このページをスクロールしてみてくださいとスクロールしながらナビゲーションバーを見てください!</ P>
</ DIV>
...
</ DIV>
»をお試しください
垂直スクロールリスニングを作成する方法
次の例では、垂直スクロールリスナーを作成する方法を示します。
例
<ボディデータスパイ= "スクロール "データターゲット= "#myScrollspy"データ・オフセット= "20">
<DIVクラス = "コンテナ">
<DIVクラス = "行">
<ナビゲーションクラス= "COL-SM -3" ID = "myScrollspy">
<ULクラス= "NAV nav-丸薬NAV-積み重ね">
<李> <aのHREF = "#section1">項1 </ A> </ LI>
...
</ UL>
</ナビゲーション>
<DIVクラス= "COL-SM -9">
<DIVの ID = "セクション1">
<H1>セクション1 </ H1 >
<P>このページをスクロールしてみてくださいとスクロールしながらナビゲーションリストを見てください!</ P>
</ DIV>
...
</ DIV>
</ DIV>
</ DIV>
</ BODY>
<DIVクラス = "コンテナ">
<DIVクラス = "行">
<ナビゲーションクラス= "COL-SM -3" ID = "myScrollspy">
<ULクラス= "NAV nav-丸薬NAV-積み重ね">
<李> <aのHREF = "#section1">項1 </ A> </ LI>
...
</ UL>
</ナビゲーション>
<DIVクラス= "COL-SM -9">
<DIVの ID = "セクション1">
<H1>セクション1 </ H1 >
<P>このページをスクロールしてみてくださいとスクロールしながらナビゲーションリストを見てください!</ P>
</ DIV>
...
</ DIV>
</ DIV>
</ DIV>
</ BODY>
»をお試しください