递归调用Java脚本动画功能,每个循环后的时间分配时间

问题描述 投票:0回答:1

在ready函数中,scrollDown动画开始,在scrollDown的完整回调侦听器中,我调用了scrollUp函数以开始向上滚动动画。循环完成后,向下滚动动画需要一些时间才能重新开始。 更重要的是,延迟时间在每个周期完成后都会增加。

$(document).ready(function(){
   scrollDown();
});
function scrollDown(){
    $('html, body').animate({
        scrollTop:$("#4").offset().top-100
    },
    {
        duration:2000,
        complete: function(){
           scrollUp();
        }
    });
}
function scrollUp(){
        $('html, body').animate({
            scrollTop:$("#1").offset().top-100
        },
        {
            duration:2000,
            complete: function(){
               scrollDown();
            }
        });
}
javascript animation jquery-animate
1个回答
0
投票

添加$('html,body')。stop();可以达到目的,现在动画退出流畅且没有延迟时间。但是为什么我必须叫他stop()函数呢?因为我已经实现了complete回调。

$(document).ready(function(){
   scrollDown();
});
function scrollDown(){
    $('html, body').animate({
        scrollTop:$("#4").offset().top-100
    },
    {
        duration:2000,
        complete: function(){
           scrollUp();
        }
    });
}
function scrollUp(){
$('html, body').stop();
        $('html, body').animate({
            scrollTop:$("#1").offset().top-100
        },
        {
            duration:2000,
            complete: function(){
               scrollDown();
            }
        });
}
© www.soinside.com 2019 - 2024. All rights reserved.