2010-09-25 140 views
0

我有一些問題,我想有一種幻燈片,用戶有4個按鈕,當他們點擊一個div出現,其他人消失。 div的大小相同。我也希望把這種自動jquery問題自動幻燈片排序

var Idx = 1; 
var IntervalKey = setInterval = (auto, 5000); 

var auto = function() { 
    $("#MainImage").eq(Idx).fadeIn(1000); 
    while(Idx <3) { 
    Idx++; 
    $("#MainImage").eq(Idx).hide(); 
    } 
    Idx++; 
    if(Idx>3) { 
    Idx = 0; 
    } 
}; 

$(".botao-imagem").click(function(){ 
    Idx = $(".botao-imagem").index(this); 
    auto(); 
}); 
+0

'var IntervalKey = setInterval =(auto,5000);'? – Harmen 2010-09-25 17:49:22

+0

是的,這是一個明顯的錯字,並被認爲是「setInterval(auto,5000)」 – 2010-09-25 17:52:30

+0

對不起,它的var Intervalkey = setInterval(auto,5000); – Jose 2010-09-25 17:55:14

回答

2

重複你的主要問題的ID,ID必須是唯一的,所以$("#ID").eq()不會每有一個真正目的,因爲它應該是1分或0的結果。先給元素的類,而不是:

<div class="MainImage"><p>111111</p></div> 
<div class="MainImage"><p>222222</p></div> 
<div class="MainImage"><p>333333</p></div> 
<div class="MainImage"><p>444444</p></div>​ 

和使用類選擇器,這樣的:

$(".MainImage") 

另外auto需要直接使用它或將它定義爲一個功能之前被聲明,整體像這個:

var Idx = 0; 
var IntervalKey = setInterval(auto, 5000); 

function auto() { 
    $(".MainImage").hide().eq(Idx).fadeIn(1000); 
    Idx++; 
    if(Idx>3) Idx = 0; 
}; 

$(".botao-imagem").click(function(){ 
    Idx = $(".botao-imagem").index(this); 
    auto(); 
}); 

You can test the updated/working version with the above code here

+0

非常感謝,我不知道! – Jose 2010-09-26 12:08:29

+0

現在它已全部完成,我還更改了代碼,以便在頁面加載時出現第一個div,然後自動以div編號2開始,一切都很流暢並且正在運行!感謝:D – Jose 2010-09-26 14:05:06