Одностраничная навигация Wordpress и jQuery scrollspy

Hi !

Мне нужно создать сайт для компании, где я работаю :)

Моя проблема :

Я создал http://webl.eu/wordpress/ с помощью Wordpress, это дочерняя тема от Twenty Thirteen.

Я хотел бы сделать навигацию li или изменение, когда пользователь прокручивает соответствующий элемент. Я нашел этот скрипт:

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

Я думаю, что это должно работать... но это не так :(

Спасибо,

Léo


person Léo    schedule 03.05.2014    source источник
comment
попробуйте плагин jquery waypoint imakewebthings.com/jquery-waypoints   -  person jeremy castelli    schedule 03.05.2014


Ответы (1)


Я решил свою проблему:

Это довольно просто: этот скрипт не работает, если в меню есть что-либо кроме якорей!

Надеюсь, он будет вам полезен ;)

Пока

person Léo    schedule 05.05.2014