有没有办法延迟显示这些图像。提前谢谢。
$.each(people, function(i, data){
if(this.dead == true){
$('#item7').prepend(' <span style="position:relative; top: 7px;"><img src="images/alive.png"/> </span> ');
}else if(this.dead == false){
$('#item7').prepend(' <span style="position:relative; top: 7px;"><img src="images/alive1.png"/> </span> ');
}
});
答案 0 :(得分:1)
是的,有办法。事实上,有很多方法。
这是我可能会使用的那个:
$.each(people, function(i, data) {
var src = this.dead ? 'images/alive.png' : 'images/alive1.png';
$('<span style="position:relative; top: 7px; display: none;">')
.append($('<img>', { src: src }))
.prependTo('#item7')
.delay(i * 1000)
.show('fast');
});
确保元素最初不可见(display: none
),然后使用jQuery动画延迟对.show()
调用进行排队。
答案 1 :(得分:0)
使用setTimeout来延迟它。 那些== true和== false操作是什么? 如果你想确保你的死属性为假或真,请与===比较,否则,if()就足够了。
$.each(people, function(i, data) {
setTimeout(function() {
$('#item7').prepend($('<span style="position:relative; top: 7px;">').html($('<img/>', { src : (this.dead ? "images/alive.png" : "images/alive1.png") })));
}, i * 500);
});
在此处观看示例:http://jsfiddle.net/cLhvf/
答案 2 :(得分:0)
这取决于你的意思。
var delay = 500; (function(elements,index){ elements [index]; //做你想做的事。 setTimeout(function(){arguments.calle(elements,index + 1);},delay); })(人,0)
$。each(people,function(i,data){ var self = this; setTimeout(function(){ //在这做任何你想做的事 },延迟); });
我认为延迟不适用于此。我可能是错的
所有代码都未经过测试。