jQuery中的循环问题

jQuery中的循环问题,jquery,Jquery,这就是我的意思 它说的最新消息有一些问题 我想做的是: 加载站点,查看加载栏。(图像在HTML中)加载栏消失,有一段淡入 这就是为什么 // Hides the loading image and fadesin content var $latest = $(".latest") $latest .hide(); // Hide Content setTimeout(function(){ $('#loading') .hide(); $

这就是我的意思

它说的最新消息有一些问题

我想做的是:

加载站点,查看加载栏。(图像在HTML中)加载栏消失,有一段淡入

这就是为什么

// Hides the loading image and fadesin content
  var $latest = $(".latest") 
  $latest
    .hide(); // Hide Content
  setTimeout(function(){
    $('#loading')
      .hide();  
    $latest.fadeIn();
  }
  , 3000);
现在,我还想做的是隐藏段落,在另一段中,然后是后面的一段。然后重新启动,再次循环

这就是它的目的:

$latest
  .hide()
  .first()
  .show(); 

  refreshId = setInterval(function() {
  next = $(".latest:visible").next(); 
  if (next.length) { 
  $latest.hide();
  next.fadeIn(); 
  } else {
  $(".latest")
    .hide()
    .first()
    .fadeIn();
  }
  }, 3000 );
如您所见,这两个脚本相互冲突,整个事情变得疯狂(图像不断出现)。有办法解决吗?

试试这个:

setTimeout(function() {
    $('#loading').hide(0,rotator);
}, 3000);

function rotator() {
  var $paragraphs = $('#latest-news').find('p.latest'); // the paragraphs
  $paragraphs.first().show();
  var i = 0;
  var looper = setInterval(function() {
    var showpara = i++ % $paragraphs.length; // choose next one to show
    $paragraphs.not(':eq(' + showpara + ')').hide() // hide others
      .end() // back to first selector
      .eq(showpara).fadeIn(); // show the next
    }, 3000);
}


编辑:更新以处理加载消息,将旋转器封装在函数中,并在加载消息隐藏时触发该函数。

图像仍在每次循环后显示您希望加载图形仅显示一次吗?或者在每个段落之间显示?好的,我正在更新我的答案,以包含加载消息的逻辑。几乎!!!看看这个网站,3个都出现了,几秒钟后它开始工作了!此外,图像正在设置动画,不会褪色。您仍然需要
$latest.hide()
内容。更好的是,将css类设置为
display:none
,以便隐藏这些段落的默认状态。至于动画——让我们在回调之前添加一个duration参数零(在上面修改)。