$(document).ready(function(){
var ar = ["#mob","#tv","#cmp","#prt"]; //div id's to display images
$(".show").click(function(){
for(var sh in ar){
$(sh).css({"display":"block"});
}
},5000);
});
我试图在按钮点击时显示图像,延迟时间为5000,点击事件按钮没有发生任何事情。
答案 0 :(得分:0)
当你运行的时候用javascript到j的远程循环(var sh in arr)sh将从0开始到3。这意味着你的代码应该是$(arr[sh]).css({"display": block});
答案 1 :(得分:0)
将显示div
的代码放在函数上。我们调用函数showFcn()
。
<强> showFcn()强>:
var ar = ["#mob", "#tv", "#cmp", "#prt"]; //div id's to display images
for (var sh in ar) {
$(ar[sh]).show();
}
}
顺便说一下你的sh返回一个基数为零的整数,所以只需用ar[sh]
在您的按钮click()
中调用showFcn()
并使用setTimeout()
添加延迟。
点击()强>:
$('#show').click(function() {
setTimeout(showFcn, 5000);
})
这是jsfiddle给你的。
答案 2 :(得分:0)
1。)在show()之前更喜欢css(“display”,“block”)。 jQuery show()有一些讨厌的部分。
和一些代码:
$(document).ready(function(){
var ar = ["#mob","#tv","#cmp","#prt"], timeouts;
function showElement(){ this.css("display", "block") }
$(".show").click(function(){
timeouts = $(ar).map(function(index, id){
timeouts && clearTimeout(timeouts[index]);
return setTimeout(showElement.bind($(id)), 5000*index);
})
})
});