0

jQueryに関してはかなり新しいので、もう少し経験のある人が助けてくれる必要があります。3 つのアイテムを含むナビがあります - 仕事について 連絡先

デフォルトでは作業が選択されていますが、クリックされたアクティブなクラスに変更したいと思います。アンカーのスクロールが機能していますが、クリックすると正しいナビゲーション項目が強調表示されるようにしたいと考えています。また、ページを下にスクロールして次のセクションに移動したときに、ハイライトを自動的に変更できる場合。

これは、アンカーのスクロールに使用している jQuery です。

    <script>$(function() {
    var main-nav = $("#main-nav"), pos = main-nav.offset();
    $(window).scroll(function() { 
        if($(this).scrollTop() > (pos.top + 10) && $(this).scrollTop() < 15000 && main-nav.css('position') == 'static') { main-nav.addClass('fixed');  } 
        else if($(this).scrollTop() <= pos.top && main-nav.hasClass('fixed')){ main-nav.removeClass('fixed'); }
        else if($(this).scrollTop() > 15000 && main-nav.hasClass('fixed')){ main-nav.removeClass('fixed'); }
        })
    });
    </script>
    <script>$(function() {
            $('ul.nav a').bind('click',function(event){
                var $anchor = $(this);

                $('html, body').stop().animate({
                    scrollTop: $($anchor.attr('href')).offset().top
                }, 1500,'easeInOutExpo');
                /*
                if you don't want to use the easing effects:
                $('html, body').stop().animate({
                    scrollTop: $($anchor.attr('href')).offset().top
                }, 1000);
                */
                event.preventDefault();
            });
        });
    </script>

ここにCSSがあります

    #main-nav{
      font: bold 12px 'Bitter', serif;
      width: 145px;
      float: right;
    }
    #main-nav li{
      float: left;
      list-style: none;
      margin: 10px 2px 0 2px;
      color: #c4c5c5;
    }
    #main-nav li:last-child{
      margin-right: 0;
    }
    #main-nav a{
      text-decoration: none;
      color: #c4c5c5;
    }
    #main-nav a:hover{
      text-decoration: none;
      color: #919292;
    }
    #main-nav a.active{
      color: #919292;
    }

ここにHTMLがあります

    <div id="main-nav" class="">
                <ul class="nav">
                    <li><a class="active" href="#work">Work</a></li>
                    <li>/</li>
                    <li><a href="#anchor-about">About</a></li>
                    <li>/</li>
                    <li><a href="#contact">Contact</a></li>
                </ul>
            </div>

誰かが私を助けてくれたら、本当に感謝しています!

4

1 に答える 1