5

ページをアンカーにスクロールすると、そのアンカーに対応するメニュー項目が特定のクラスを追加または削除するように、サイトの条件を作成しています。

私の問題は、最初のアイテム メニューでクラスを削除できないことです。

このために私はjqueryを使用しています。これが私がこれまでに得たものです:

jQuery(document).ready(function($) {

    var target1 = $("#thehotel").offset().top;
    var target2 = $("#thecity").offset().top;

    var interval = setInterval(function() {

         // i am not sure if this setInterval method is causing the problem, yet i didn't find any other solution

         if ($(window).scrollTop() >= target1 && $(window).scrollTop() < target2) {
              $("#menu .item-109 a").addClass("myClass");
              $("#menu .item-111 a").removeClass("myClass");

         }  
         else if ($(window).scrollTop() >= target2) {
             $("#menu.item-109 a").removeClass("myClass");
             $("#menu .item-111 a").addClass("myClass");
         }  



    }, 250);    
});

私の英語が下手だと思ったら申し訳ありませんが、それは私の母国語ではありません。ありがとうございました。

エラーが見つかりました。タイプミスです。

ここ:

           if ($(window).scrollTop() >= target1 && $(window).scrollTop() < target2) {
                  $("#menu .item-109 a").addClass("myClass");
                  $("#menu .item-111 a").removeClass("myClass");

             }  
             else if ($(window).scrollTop() >= target2) {

//change this        $("#menu.item-109 a").removeClass("myClass");

//to this            $("#menu .item-109 a").removeClass("myClass");

                 $("#menu .item-111 a").addClass("myClass");
             }  

コードは動作するようになりました。お手数をおかけして申し訳ありません。ありがとうございました。すてきな一日を!

4

1 に答える 1