2010-07-15 87 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