私は1ページのデザインウェブサイトを構築しています。IDをスクロールするとナビゲーションメニュー項目にクラスを追加する方法を知りたいと思います。ナビゲーションメニューにIDの追加クラスをスクロールしてカレイドクラスを変更する
私はそれはようなものになるだろう推測している:私は(リンクwww.example.com/#pricesある)物価へのリンクを持っている私のナビゲーションメニューで
if at ID-X addClass .active to menuitem-y
。それで、[価格]をクリックすると、スムーズにID #pricesにスクロールします。
if "#prices" addClass(.active)->Menuitem-y
私が推測:
だから、インクルードは次のようになりますでしょうか?
**アップデート** DaniPのおかげで、#pricesに達すると警告を発するコードがあります。
var target = $("#prices").offset().top;
var interval = setInterval(function() {
if ($(window).scrollTop() >= target) {
alert("made it!");
clearInterval(interval);
}
}, 250);
アラートの代わりにCSSを挿入できますか? like #menuitem-y{color:#000;}
これは1つのインスタンスに対してのみ機能しますが、これをより多くのメニュー項目に適用するにはどうすればよいですか?
あなたはBootstrap scrollspyを試しましたか? http://getbootstrap.com/javascript/#scrollspy –
私はブートストラップを使用していません。私はhttp://materializecss.comを使用しています。それはscrollspy機能を持っています。 http://materializecss.com/scrollspy.htmlこれはおそらく同じように動作します。病気に行く – Steggie
何か試しましたか?少なくともあなたのコードを検索してみてくださいhttp://stackoverflow.com/questions/7182342/how-to-detect-when-the-user-has-scrolled-to-a-certain-area-on-the-page-あなたのタイトルに – DaniP