setTimeout()不能与onClick一起使用

时间:2014-04-19 16:55:00

标签: javascript html onclick timeout

我有一个按钮(在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;当我打开页面时?

2 个答案:

答案 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);
 }
相关问题