0

やあ !

私が働いている会社のウェブサイトを作成する必要があります:)

私の問題 :

WordPress でhttp://webl.eu/wordpress/を作成しました。「Twenty Thirteen」の子テーマです。

ユーザーが対応する要素にスクロールしたときに、ナビゲーションを変更したり変更したりしたいと思います。私はこのスクリプトを見つけました:

(function($){

  var sections = [];
  var id = false;
  var $navbar = $('#navigation_desktop .navigation');
  var $navbara = $('a', $navbar);

  $navbara.click(function(e){
    e.preventDefault();
    $('html, body').animate({
      scrollTop: $($(this).attr('href')).offset().top - $navbar.height()
    });
    hash($(this).attr('href'));
  });

  $navbara.each(function(){
    sections.push($($(this).attr('href'))); // !!!erreur ici!!!
  });

    console.log(sections);
    
  $(window).scroll(function(e){
    var scrollTop = $(this).scrollTop() + ($(window).height() / 2)
    for(var i in sections){
      var section = sections[i];
      if (scrollTop > section.offset().top) {  // !!!erreur ici!!!
        scrolled_id = section.attr('id');
      }
    }
    if (scrolled_id !== id) {
      id = scrolled_id
      $navbara.removeClass('current');
      $('a[href="#' + id + '"]', $navbar).addClass('current');
    }
  });

})(jQuery);


hash = function(h) {
  if (history.pushState) {
    history.pushState(null, null, h);
  }else{
    location.hash = h;
  }
}

私はそれが動作するはずだと思います...しかし、そうではありません:(

ありがとう、

レオ

4

1 に答える 1

0

私は私の問題を解決しました:

とても簡単です:メニューにアンカー以外のものがあれば、このスクリプトは機能しません!

それがあなたに役立つことを願っています;)

さよなら

于 2014-05-05T13:25:24.257 に答える