0
次の問題があります。スクロールが特定の要素に達すると、リスト項目にクラス.orangeを追加し、スクロールでクラスを削除したいと思います。スクロール位置のJqueryクラスの追加と削除
<style>
.orange {
background-color: orange;
}
</style>
<ul class="navbar-custom clearfix">
<li>
<a href="#first-section"></a>
</li>
<li>
<a href="#second-section"></a>
</li>
<li>
<a href="#third-section"></a>
</li>
<li>
<a href="#fourth-section"></a>
</li>
</ul>
<section id="first-section"></section>
<section id="second-section"></section>
<section id="third-section"></section>
<section id="fourth-section"></section>
<script type="text/javascript">
var $sec = $("section"),
handle = null;
var $w = $(window).scroll(function() {
clearTimeout(handle);
handle = setTimeout(function() {
var top = $w.scrollTop();
// within the `setTimeout` context:
var $f = $sec.filter(function() {
return $(this).offset().top + $(this).height() >= top;
}).first();
$items.removeClass('orange').eq($sec.index($f)).addClass('orange');
}, 40);
}).scroll();
</script>