セクションまでスクロールするときにメニュー項目を強調表示しようとしています。 強調した作品が、他のセクションにスクロールしたときに、何らかの理由で私はセクションをスクロールするとjQueryのハイライトメニュー項目
を強調表示を削除することはできません。これは私のメニューは次のようになります。
私が使用して各セクションのためのHTMLで<div id="navbar">
<ul class="nav navbar-nav">
<li class="active"><a data-id="home" href="#home">Home</a></li>
<li class="navbar-right"><a data-id="cont" href="#contact">Contact</a></li>
<li class="navbar-right"><a data-id="exp" href="#exp">Expertise</a></li>
<li class="navbar-right"><a data-id="wie2" href="#wie2">Wie</a></li>
</ul>
</div>
jQuery(window).scroll(function() {
var position = jQuery(this).scrollTop();
jQuery('.section').each(function() {
var target = jQuery(this).offset().top;
var id = jQuery(this).attr('id');
if (position >= target) {
jQuery('#navbar>ul>li>a').removeClass('clicked');
jQuery('#navbar ul li a[data-id=' + id + ']').addClass('clicked');
}
});
});
誰でもクラスが得る理由を任意のアイデアを持っています。idアンカー私はこれが私のjQueryのですclass="section"
を追加しました毎回削除されますか?私がjQuery('#navbar>ul>li>a').removeClass('clicked');
をコメントアウトするので、それは素晴らしい作品です。クラスが正しく追加されています。しかし、それらを削除することはできません:(
を動作するはずだと思います。 –
それでは、何が問題を解決しなかったのですか?あなたがしたことを教えてくれますか? –
これは動作しないという意味ですか? jQuery( '#navbar ul li')。removeClass( 'clicked'); –