2013-04-23 24 views
0

這裏後我的工作小提琴:http://jsfiddle.net/fz5Yk/5/突出的元素滾動到它

正如你所看到的,它具有一個單頁的滾動導航。我想在滾動到某個部分時在<strong> </strong>標記中爲標題實現突出顯示效果(最好使用.animate函數)。只需手動滾動頁面,您將在導航菜單中看到突出顯示;滾動部分的項目,但我無法完全解決js代碼以將其應用於標題,並且使用.animate函數進行干預似乎對我來說更加困難。你可以幫我嗎?

回答

1

該插件頁面似乎有詳細記錄; https://github.com/davist11/jQuery-One-Page-Nav

只需在您滾動到end:定義內的位置放置動畫;

$('#nav').onePageNav({ 
    end: function() { 
     //I get fired when the animation is ending 
    } 
}); 

測試更新

$(window).scroll(function() { 
    var visible_start = window.pageYOffset; 
    var window_height = window.innerHeight; 
    var section3_height = $('#section-3').height(); 
    var section3_start = $('#section-3')[0].offsetTop; 

    if ((visible_start - window_height >= section3_start) && 
     $('#section-3').css('background-color', 'yellow'); 
    } 
}); 
+0

OK,這是聰明的。但只有一件事,只有當滾動發生在點擊一個項目時纔會發生,而不是像上面所解釋的那樣手動滾動。當您手動滾動時,菜單中的項目突出顯示/被選中(背景顏色更改),就好像它被點擊一樣,並且我希望只有通過滾動才能在特定部分進行動畫。 – 2013-04-23 16:52:51

+0

嘗試'scrollChange:function($ currentListItem){/ *當我輸入一個部分,並且我通過部分* /}'的列表項時,我會被解僱? Docs here:https://github.com/davist11/jQuery-One-Page-Nav – RaphaelDDL 2013-04-23 17:00:05

+0

那麼,我在做什麼錯了?我只是想突出第3部分的標題,就在我在#第3部分時。 :( – 2013-04-23 17:34:12