0
我有一個導航菜單我們都見過,就是添加/基於當前的滾動位置的除去一類。爲什麼我的「ScrollSpy」函數中導航的最後一個孩子返回一個未定義的值?
一切工作奇妙到目前爲止,但無論是在內容和導航的最後一個「節」將返回undefined值,其餘的則在正確的事行爲。
這裏是一個舞臺網站的鏈接。
http://sites.atjayjo.com/cozy-two/frequently-asked-questions.php
這裏是我使用jQuery:
var $sections = $('hgroup');
var $sectionsHead = $('hgroup h2');
var $navs = $('.faq-sidebar a');
var topsArray = $sections.map(function(){
return $(this).position().top + 238;
}).get();
var len = topsArray.length;
var currentIndex = 0;
var getCurrent = function(top) {
for(var i = 0; i < len; i++) {
if (top > topsArray[i] && topsArray[i+1] && top < topsArray[i+1]) {
return i;
}
}
};
$(window).scroll(function(e){
var scrollTop = $(this).scrollTop();
var checkIndex = getCurrent(scrollTop);;
if (checkIndex !== currentIndex) {
currentIndex = checkIndex;
$navs.eq(currentIndex).addClass('active').siblings('.active').removeClass('active');
$('hgroup h2').removeClass('active');
$sectionsHead.eq(currentIndex).addClass('active');
// console.log(alert(currentIndex));
}
});
感謝您的幫助!