垂直スクロールに基づいた jQuery によるクラスの追加/削除
このインスタンスの目標は、「ヘッダー」からクラスを削除することです。ユーザーが一定距離下にスクロールすると、要素を作成し、別のクラスを適用して外観を変更します。ただし、提供されたコードは、いくつかの軽微なエラーにより意図したとおりに機能しません。
修正されたコードは次のとおりです:
$(window).scroll(function() { var scroll = $(window).scrollTop(); // >=, not <= if (scroll >= 500) { // clearHeader, not clearheader - caps H $(".clearHeader").addClass("darkHeader"); } });
主に 3 つの問題がありました:
これらのエラーを修正することに加えて、次の点を考慮してください:
if (scroll >= 500) { $(".clearHeader").addClass("darkHeader"); } else { $(".clearHeader").removeClass("darkHeader"); }
最後に、キャッシュします。ヘッダーの jQuery オブジェクトは、特にそのクラスを複数回変更する予定がある場合、パフォーマンスを向上させることができます。
var header = $(".clearHeader"); $(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 500) { header.removeClass('clearHeader').addClass("darkHeader"); } else { header.removeClass("darkHeader").addClass('clearHeader'); } });
これらに対処することで、問題を解決し、ユーザーの垂直スクロール位置に基づいてヘッダーにクラスを効果的に追加および削除できるようになりました。
以上がjQuery を使用して垂直スクロール位置に基づいて CSS クラスを追加および削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。