2013-05-20 2 views
1

У меня есть небольшая проблема с путевыми точками JQuery. Im, используя его для моего авто прокрутки навигации на моем одной странице сайте:JQuery waypoints with smooth scroll

signaturestories.eu

Он отлично работает, когда я использую мое колесо прокрутки. Мне нужно, чтобы он менял цвет моих навигационных элементов, когда какой-то элемент достигает вершины экрана. Проблема заключается в том, когда вы нажимаете кнопку регистрации -> about ->, а затем не меняет цвет в третий раз.

script.js:

$('a[href^="#"]').bind('click.smoothscroll',function (e) { 
     e.preventDefault(); 

     var target = this.hash, 
     $target = $(target); 

     $('html, body').stop().animate({ 
      'scrollTop': $target.offset().top-40 
     }, 900, 'swing', function() { 
      window.location.hash = target; 
     }); 
    }); 


var currentMenuObject = ''; 

$('#wrapper').waypoint(function() { 
    $(currentMenuObject).css('color', '#f2e0bd'); 
    currentMenuObject = '#top'; 
    $(currentMenuObject).css('color', 'black'); 
}, { offset: '55'}); 

$('#introarticle').waypoint(function() { 
    $(currentMenuObject).css('color', '#f2e0bd'); 
    currentMenuObject = '#top'; 
    $(currentMenuObject).css('color', 'black'); 
}, { offset: '55'}); 

$('#signsection').waypoint(function() { 
    $(currentMenuObject).css('color', '#f2e0bd'); 
    currentMenuObject = '#signup'; 
    $(currentMenuObject).css('color', 'black'); 
}, { offset: '55'}); 

$('#storyarticle').waypoint(function() { 
    $(currentMenuObject).css('color', '#f2e0bd'); 
    currentMenuObject = '#about'; 
    $(currentMenuObject).css('color', 'black'); 
}, { offset: '55'}); 

ответ

2

Вы вызываете этот бит, прежде чем добавить JQuery на странице:

$(document).ready(function(){ 
    //jQuery code goes here and will be executed as soon as the page has finished loading 
});  

Это бросает $ is not a function ошибку и прекращает выполнение кода.

+0

Спасибо, что заметили меня! Я немедленно исправлю эту ошибку. Но это все еще не исправляет мою проблему:/ –

+0

Я думаю, что когда она прокручивается, она не попадает в '$ target.offset(). Top-40' point, поэтому ссылка не меняет цвет. – Morpheus

+0

так должно ли смещение быть выше или ниже? –