-1
我一直堅持這一段時間了。我正在嘗試製作自己的Scrollspy。事情是,它只能硬編碼的時候,如果我嘗試做它通過變量它不斷給我自定義滾動jquery只適用於手動編碼
$(document).ready(function() {
setInterval(check, 100);
});
function isScrolledIntoView()
{
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var year = $('.year').eq(2).attr("class");
var test = year.split(' ');
test = test[1];
var elemTop = $(".item."+test).offset().top;
var elemBottom = elemTop + $(".item."+test).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
var check = function(){
var itemslength = $('.year').length;
for (var i = itemslength-1; i >= 0; i--) {
var year = $('.year').eq(i).attr("class");
var yearsplitted = year.split(' ');
if(isScrolledIntoView())
{
$(".year.2016").addClass("item-active");
}
else
{
$(".year.2016").removeClass("item-active");
}
}
};
您可以在第一功能
var elemTop = $(".item."+test).offset().top;
看到如果我試圖做到這一點通過變量,它不起作用。
編輯:我使用了錯誤的循環。
不太能工作,這就是我想要做的:[http://jsfiddle.net/DFh7z/70/](http://jsfiddle.net/DFh7z/70/)我不斷收到'Uncaught TypeError:無法讀取未定義的屬性'top' –