Wordpress单页导航和jQuery scrollspy

时间:2014-05-03 09:48:13

标签: jquery wordpress navigation singlepage scrollspy

嗨!

我必须为公司创建一个网站,我正在工作:)

我的问题:

我用Wordpress创建了http://webl.eu/wordpress/,这是来自“二十三”的儿童主题。

我想在用户滚动到相应元素时进行导航或更改。我找到了这个脚本:

(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;
  }
}

我认为它应该有用......但它没有:(

谢谢,

莱奥

1 个答案:

答案 0 :(得分:0)

我解决了我的问题:

这很简单:如果菜单中有除了锚点之外的其他内容,这个脚本就不起作用了!

希望它对你有用;)

再见