【问题标题】:jQuery and Repeat AnimationjQuery 和重复动画
【发布时间】:2013-03-23 11:45:12
【问题描述】:

我为将元素移动到 div 创建动画,div 动画正常,当我尝试使用 setInterval 重复此动画时出现问题

我把我的代码放在这里:

$("#header").fadeIn(100, function() {
    $(this).animate({
        'left': '-1600'
    }, 8000);
});

var interval = setInterval(function() {
    $("#header").fadeIn(100, function() {
        $(this).animate({
            'left': '-1600'
        }, 8000);
    });
}, 10000);

第一个工作正常,但第二个不行,如果我改变位置 - 动画功能 - 显示但没有重复,我想在其他时间使用 setInterval 重复但对我不起作用,但是我需要使用其他功能并且没有 setInterval .. ...

问候

【问题讨论】:

  • 因为你每次都把它移到-1600。不是 -3200、-4800、-6400 等等。
  • 脚本动画图像需要移动到这个位置,重复相同的动画从600开始移动到-1600
  • 啊,那可能是因为它永远不会回到起点600:)
  • 好的,我该如何解决这个问题?

标签: jquery jquery-animate


【解决方案1】:

我相信这是因为它永远不会回到起点。这是一个重复动画的例子。我没有你的html或css,所以我自己做了。在演示中,它会变为 500,因此不会超出屏幕范围。

Working Demo

Javascript:

$(function() {
    $("#header").fadeIn(100, function() {
        console.log('go!');
        $(this).animate({
            'left': '-1600'
        }, 8000);
    });

    setInterval(function() {
        $("#header").css('left','0').fadeIn(100, function() {
            $(this).animate({
                'left': '-1600'
            }, 8000);
        });
    }, 10000);
});

【讨论】:

  • 啊,好的,我需要在第一点返回动画并重复,完美,谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
相关资源
最近更新 更多