如何将以下代码编写为for循环?

时间:2010-07-15 20:34:33

标签: javascript jquery

首先,      有没有办法让变量声明放在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');

谢谢:)

3 个答案:

答案 0 :(得分: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'); 
    });

答案 1 :(得分:0)

你可以把结果放在一个数组中然后做一个for循环,填充数组......我想你需要2个数组,一个用于origh和thumbh。

答案 2 :(得分:0)

我错过了什么吗?或者你只想要前4个img?

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