jQuery animate()运行得很晚

时间:2013-07-28 18:46:50

标签: javascript jquery

我有一个脚本可以在标题上为我的图像设置动画。当用户向下滚动时缩小它并在用户到达顶部时放大它。这是:

function headerScroll() {
    $(window).scroll(function() {
        if($(document).scrollTop() != 0) {
            $('#headerContainer').addClass('smaller');
            $('#header img').animate({
                height: '170px',
                left: '414px',
                top: '10px'
            },200);
        } else if($(document).scrollTop() < 100) {
            $('#header img').animate({
                height: '307px',
                left: '361px',
                top: 0
            },200, function() {
                $('#headerContainer').removeClass('smaller');
            });
        }
    });
}

问题是 - 有时(并非总是),secound动画暂时不会运行。它有时会等待几秒钟。我该如何预防?

编辑:当我在alert('test')之前或之后添加animate时,它运行得很顺利。

1 个答案:

答案 0 :(得分:1)

使用:$('#header img').animate().stop().animate( ....
希望是工作