我有一个按钮(在apDiv126中),点击它时显示图像(在apDiv129中)
<div id="apDiv126"style="display:none"><input name="Yep" type="image" src="accept.png" onClick=toggle_div('apDiv129');time('apDiv129');"></div>
<div id="apDiv129"style="display:none"><img src="request confirmed.png" width="370" height="215"></div>
单击该按钮时,它应显示图像(使用toggle_div),然后执行时间功能:
这是时间函数:
function time(id) {
var divelement = document.getElementById(id);
setTimeout(function(){
divelement.style.display = 'none'
}, 2);
}
时间成功应该使图像在2秒后消失。但是,当我尝试我的网页时,它甚至不显示图像。 toggle_div正在运行,因为当我从onClick中删除time('apDiv129');
时,图像就会出现。
我还尝试在超时匿名功能中调用toggle_div,但它也不起作用。
我的问题是:onClick按照给定的顺序执行函数?是否有可能超时开始&#34;倒计时&#34;当我打开页面时?
答案 0 :(得分:6)
setTimeout
上的第二个参数是以毫秒为单位的时间,请尝试使用2000
。并回答你的问题:setTimeout
从它被调用的那一刻开始计数,而不是从页面加载时开始计算。 (除非在onLoad事件处理程序中)
答案 1 :(得分:2)
超时功能接受时间(以毫秒为单位)...... 设置2000而不是2 ...
function time(id) {
var divelement = document.getElementById(id);
setTimeout(function(){
divelement.style.display = 'none'
}, 2000);
}