循环each()无限循环



我使用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"循环结束,它就不会重复序列。我想循环无限重复。就像最后一个元素淡出后,第一个元素应该淡出。

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

$('.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,但我会尽可能地增加它。

最新更新