2013-07-22 49 views
1

我是jsjquery的新手,我試圖淡入和出列表項。 即時通訊使用jQuery循環插件(與轉換定義)。 它的工作很好,但我需要循環。我相信它很簡單。但是我無法找到一個答案:(循環javascript?

<script type="text/javascript"> 
function InOut(elem) 
{ 
    elem.delay() 
.fadeIn(400) 
.delay(5000) 
.fadeOut( 
      function(){ InOut(elem.next()); } 
     ) ; 
} 

$(function(){ 
$('#newsticker li').hide(); 
InOut($('#newsticker li:first')); 

}); 
</script> 
+0

我試圖把一個對周圍循環,但打破它... –

+0

您可以將代碼添加到的jsfiddle? (與您的HTML) – Pieter

+0

http://jsfiddle.net/B2BDc/2/ –

回答

0
$(function(){ 

$('#newsticker li').hide(); 
InOut($('#newsticker li:first')); 

var lengthUl = $('#newsticker').children().length; 
var i = 0 
function InOut(elem) 
{ 
    elem.delay().fadeIn(100).delay(100).fadeOut(function() { 
      i++; 
      InOut(elem.next()); 
      if(i == lengthUl){ 
       InOut($('#newsticker li:first')); 
       i = 0; 
      } 
     } 
    ) ; 
} 
}); 

只要使用這個作爲您的script

增加了一個js Fiddle鏈接:享受!

http://jsfiddle.net/shubham59/xmRqG/1/

0

試試這個:

<p id=elem>Here is some text</p> 

<script> 
var iv = setInterval(function() {$("#elem").fadeIn(400).fadeOut(400);},2000); 
</script> 

的setInterval將繼續執行,直到你要求它停止該函數將淡入和淡出你的元素每隔幾秒鐘。 。有一個fiddle

0

如何檢查,如果當前活動列表項是最後如果是,回到第一,像這樣:

if($("li:last").next().length === 0({ 
    $("li:last").fadeOut(); 
    InOut($("#newsticker li:first")); 
} 

我做了類似的事情,允許騎自行車通過縮略圖列表作爲jsFiddle slideshow模型。

+0

這將不會循環...它沒有區別... –

+0

您可能需要更改'if($(「li:最後一個「)來檢查你的特定的活動元素,以確保當前活動的元素是列表中的最後一個。在我的jsFiddle中,你可以看到我已經爲活動列表項添加了一個類來解決這個問題 – Matt