为什么Jquery动画在首次运行后会加速?

时间:2010-07-29 19:07:21

标签: jquery animation performance

我正在制作一个基本的选框,它带有一组列表项并滚动它们(这是一个体育网站,他们想要一个新闻自动收报机)。

一切正常,除非在第一次运行后持续时间加快。

var duration = 10000;
var textScroll = function(toScroll, time)
   {
      toScroll.animate({left:"-"+toScroll.children().text().length+"px"},time,"linear", function()
      {
         $(this).css({left:toScroll.children().text().length});
         textScroll($(this),duration);
      });
   };
   textScroll($('.textScroll ul'), duration);

就像我说的那样,滚动完美。在第一次滚动后变得更快。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

它可能在第一个动画的不同left位置开始,所以它看起来动画较慢,因为它与动画的距离较短。您似乎将元素的left CSS属性设置为toScroll.children().text().length - 但这只发生在第一个动画之后。第一个动画开始前left有什么价值?