0

我的 for 循环无法正常工作时遇到问题。

基本上我找到了用户滚动位置,如果它小于数组中的某个数字,我想滚动到那个位置。我在数组中的前两项工作正常。但是如果我滚动到倒数第二个项目,它会在那里停留一秒钟,然后动画到最后一个项目。

这是我的代码

例如,arrayPercent 中可以包含这些数字 794、1588、2383、3177

//Scroll postion
$(window).scroll(function() {
    var documentScrollLeft = $(document).scrollLeft();
    if (lastScrollLeft != documentScrollLeft) {
        lastScrollLeft = documentScrollLeft; 
        //
        for(var j = 0; j <= numTotalPages; j++){
            if(lastScrollLeft <= arrayPercent[j]){
                console.log(arrayPercent[j]);
                numCurrentPage = j+1;
                break;
            }
        }
    }
    //
    clearTimeout($.data(this, 'scrollTimer'));
    $.data(this, 'scrollTimer', setTimeout(function() {
        // do something
        var TEMPcurrent = 'page'+numCurrentPage;
        $('html, body').animate({
            scrollLeft: $('#'+TEMPcurrent).offset().left
        }, 250);
    }, 500));
});
4

0 回答 0