2010-07-15 52 views
1

首先, 有沒有辦法讓我把變量聲明放在for循環中?如何將以下代碼編寫爲for循環?

E.g.以下內容:

var origh1 = $('#candidates img:eq(0)').height(); 
var origh2 = $('#candidates img:eq(1)').height(); 
var origh3 = $('#candidates img:eq(2)').height(); 
var origh4 = $('#candidates img:eq(3)').height(); 
var thumb1h = $('#candidates img:eq(0)').height()*0.20; 
var thumb2h = $('#candidates img:eq(1)').height()*0.20; 
var thumb3h = $('#candidates img:eq(2)').height()*0.20; 
var thumb4h = $('#candidates img:eq(3)').height()*0.20; 

然後使用這些變量,我想在下面的for循環。當然,'origh1'應該等於img:eq(i),其中i = 0。所以我想象如果origh1在循環中,它會像origh(i + 1)那樣。

$('#candidates img:eq(0)').fadeIn('normal').delay(300).animate({ height : origh1}, 1200, 'easeInQuad'); 
$('#candidates img:eq(1)').fadeIn('normal').delay(300).animate({ height : origh2}, 1200, 'easeInQuad'); 
$('#candidates img:eq(2)').fadeIn('normal').delay(300).animate({ height : origh3}, 1200, 'easeInQuad'); 
$('#candidates img:eq(3)').fadeIn('normal').delay(300).animate({ height : origh4}, 1200, 'easeInQuad'); 

謝謝:)

回答

2

對於每個將做的工作:

$('#candidates img').each(function() { 
var origh = $(this).height(); 
$(this).fadeIn('normal').delay(300).animate({ height : origh}, 1200, 'easeInQuad'); 
}); 

遍歷第4改變爲:

$('#candidates img:lt(5)').each(function() { 
    var origh = $(this).height(); 
    $(this).fadeIn('normal').delay(300).animate({ height : origh}, 1200, 'easeInQuad'); 
    }); 
+0

http://w3schools.com/jsref/jsref_obj_array.asp他需要知道這一點。 – Incognito 2010-07-15 20:40:58

+0

Hrmm ....與此問題是,它似乎並沒有遍歷img:eq(0)來說img:eq(14)。隨後origh1 - origh15。 如果我想訪問origh5,基於這個建議,我該怎麼做? – marcamillion 2010-07-15 20:42:56

+0

正確,對不起,只是複製粘貼這個沒有額外的想法。 – 2010-07-15 20:45:17

0

你可以把結果一個數組,然後做一個for循環,填充數組...我認爲你需要2個數組,一個用於origh和thumbh。

+0

有實際代碼的例子嗎?我不完全熟悉jQuery的語法 - 只是學習:) – marcamillion 2010-07-15 20:45:45

0

我錯過了什麼嗎?或者你只想要前4個img?

$('#candidates img').fadeIn('normal').delay(300).animate({ height : $(this).height}, 1200, 'easeInQuad'); 
+0

我想要任意數量的圖像。我只是以eq(0 - 3)爲例。 假設我想要第20或30張圖像。應該沒有限制。 我寧願改變一個for循環,並且多次執行它,比我不得不爲20幅圖像重寫一行代碼(手動)20次。 – marcamillion 2010-07-15 20:47:31

+0

噢,這個選擇器會讓你看到所有的圖片。 – dotjoe 2010-07-15 20:50:21

+0

但是這對變量沒有任何作用。 – marcamillion 2010-07-15 20:54:30