Jquery滚动与scrollTop Position滚动真的很慢

Jquery scroll with scrollTop Position is really slow to scroll

本文关键字:滚动 真的 scrollTop Jquery Position      更新时间:2023-09-26

我有无限滚动,每次顶部滚动到达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");
        }
    });
}

好吧,我认为这是javascript,滚动是越来越慢,每次追加一个新的内容。所以我检查了AngularJs,我重用了指令模板。因此,基本上为每个模板创建两个指令,并创建(讨厌这样做)。