循环each()循环无限

时间:2012-07-09 10:12:04

标签: jquery

我正在使用jQuery循环遍历ul下的每个li元素,逐个显示它们。这是代码:

  $('.article_ticker li:first').siblings().hide();
  var list=$('.article_ticker li:first').siblings();

  list.each(function(index)
  {
      $(this).siblings().hide().delay(2000).fadeOut();
      $(this).fadeIn('fast');
  });

此代码工作正常,但一旦'each'循环结束,它就不会重复序列。我想循环无限重复。就像在最后一个元素淡出之后,第一个元素应该淡入。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作...

$('.article_ticker li:first').siblings().hide();
var list=$('.article_ticker li:first').siblings();

(function repeatTicker() {
  list.each(function(index) {
    $(this).siblings().hide().delay(2000).fadeOut();
    $(this).fadeIn('fast');
  });
  setTimeout(repeatTicker, 10);
} ());

我在这里使用setTimeout否则浏览器会抱怨您的页面没有响应。 现在我使用了10ms,但我会尽可能地增加它。