2011-07-17 68 views
1

我的jQuery圖像旋轉器有一個小問題。 基本上,我的旋轉器應該檢查是否加載了所有的圖像,如果是的話,它應該顯示第一個在頂端eq(5)上,以及之後的一個。我的腳本適用於第一張圖片,但我不知道如何讓它在所有圖片中循環並重復出現。 基本上,我只是想知道如何通過無限循環中的所有圖像來製作旋轉器循環。更改第一個圖像後jQuery圖像旋轉器停止

HTML:

<div id="reel"> 
<img src="images/reel6.jpg" /> 
<img src="images/reel5.jpg" /> 
<img src="images/reel4.jpg" /> 
<img src="images/reel3.jpg" /> 
<img src="images/reel2.jpg" /> 
<img src="images/reel1.jpg" /> 
</div> 

的jQuery:

$(document).ready(function(){ 
$("#reel img").hide(); 
eq=5; 
$("#reel img").load(function(){ 
function promeni(eq){ 
    $("#reel img").eq(eq).show(); 
    $("#reel img").eq(eq-1).show(); 
    $("#reel img").eq(eq).delay(2000).fadeOut(2000); 
} 
promeni(eq); 
}); 
}); 

回答

2

像這樣的東西應該做的伎倆:

$("#reel img").hide(); 
var counter = $("#reel img").length; 

var i = setInterval(function() { 
      $("#reel img").eq(counter - 1).show(); 
      $("#reel img:visible").fadeOut(2000); 
      counter--; 
      if (counter === 0) { 
       counter = 5; 
      } 
     }, 2000); 

蹩腳的演示:http://jsfiddle.net/tJvLy/

+0

你的解決方案是非常有幫助, b由於某種原因,setinterval的工作很慢,並且每當我加載我的頁面時,我都會得到第一張圖片應該放在哪裏的空白區域,直到setInterval開始工作,是否有辦法加快速度? – Mentalhead