我坚持了解每个循环的行为。jQuery的每个循环
这里是我的代码:
$.each(thumbs, function() { // where thumbs is array of strings
project = this;
$('#gallery').append(
'<li>'
+ '<a href="/portfolio/' + project + '">'
+ '<img src="/img/' + project + '_bw.jpg" id="' + project + '_bw" />'
+ '<img src="/img/' + project + '_tn.jpg" id="' + project + '_tn" />'
+ '</a>'
+ '</li>'
);
// alert(project); - alerts every element of array as expected
$('#' + project + '_bw').load(function() {
// alert(project); - alerts only the last element of array,
// but as many times as many elements in array
$('#' + project + '_bw').fadeIn(150,function(){
$('#' + project + '_tn').css("opacity", 1);
});
});
});
的问题是,当我试图定义元素,在这里我想执行.load功能的ID,它十分重视这一功能只的最后一个元素我正在循环的数组。
你需要把你的负载在外部功能,并通过项目作为参数,并调用在循环功能(见范围) –
嗨3dgoo,确保万无一失。它是字符串数组:“proja”,“projb”,“projc” – zee
您的负载没有时间来完成循环以完成所有迭代,以确保每个循环都触发一个独特的加载操作,如上所述 –