我有无限滚动,每次顶部滚动到达div的某个部分时,它会加载一个新内容直到它结束。但每次加载时都会变得很慢。当我在.each
函数中放入一些代码,并且我的滚动变得非常慢,这很烦人时,就会发生这种情况。我不知道如何解决它
function scrollAnimationFrame(ticking, windowHeight, tabSelected){
if (!ticking) {
window.requestAnimationFrame(function() {
scrollEvent(tabSelected, windowHeight);
ticking = false;
});
}
ticking = true;
}
function scrollEvent(tabSelected, windowHeight) {
var activeTab = document.getElementsByName(tabSelected)[0]
var divResults = activeTab.getElementsByClassName('div-content');
var scrollY = window.scrollY || document.documentElement.scrollTop;
var pos = $(window).scrollTop();
var scrollY = window.scrollY || document.documentElement.scrollTop;
$(divResults).each(function(i, el){
var posOutsideDiv = $(el).offset().top + $(el).outerHeight();
var inside = (scrollY >= $(el).offset().top && scrollY <= posOutsideDiv - 150)
if(inside){
toggleThead(el, "visible");
} else if(scrollY >= $(el).offset().top && scrollY <= posOutsideDiv + $(document).height()){
toggleThead(el, "hidden");
} else {
toggleThead(el, "visible");
}
});
}
答案 0 :(得分:0)
好吧,我认为每次附加新内容时滚动速度都会变慢。所以我检查了AngularJs,我正在重用指令模板。所以基本上为每个模板和voilá创建两个指令(Hated这样做)。没有更慢的滚动。