0
私は無限大のスクロールを持ち、上部のスクロールがdivの特定の部分に達するたびに、新しいコンテンツをオーバーロードするまでロードします。しかし、ロードするたびに非常に遅くなります。それは私が.each
の機能の中にいくつかのコードを入れたときに起こり、スクロールが本当に遅くなって迷惑になるということが起こります。scrollTopを使用したJquery scrollスクロール位置が実際には遅い
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");
}
});
}
何が遅くなるのですか?ページ全体をスクロールするか、新しい要素を追加するときだけ遅くなりますか? – martin
ブラウザウィンドウの上部にスクロールしようとしていますか?または要素の先頭に? .each()内であなたの数学をやっているからかもしれません。多くの行のデータがある場合は、投稿された各要素を計算し、ループして、それぞれの要素の上にスクロールして、目的の要素に当たるまでします。親要素の一番上までスクロールできますか?達成したいことの例がありますか? – ClosDesign
@Martin新しい要素を追加するたびにページが遅くなる – fsi