1-21作业
来源:1-21 编程练习
笑弯了腰
2019-04-13 16:10:59
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>定时器</title> <style type="text/css"> div{width:400px;height:120px;margin-top:50px;border:2px solid gray;padding:10px;} </style> </head> <body> <input type="button" value="删除"> <input type="button" value="取消删除"> <div id="div1">点击"删除"按钮后,里面的内容将在3秒钟后消失;<br/><br/>如点击了"删除"后又不想删除内容,请在点击"删除"按钮3秒之内点击"取消删除"按钮即可</div> <script type="text/javascript"> //补充代码 var EventUtil = { addHandler:function(element,type,handler){ //绑定事件 if(element.addEventListener){ element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent("on"+type,handler); }else{ element["on" + type] = null }; } }; var btn1 = document.getElementsByTagName("input")[0], btn2 = document.getElementsByTagName("input")[1], div = document.getElementsByTagName("div")[0]; console.log(div) EventUtil.addHandler(btn1,"click",function(evnet){ var overTime = setTimeout(function(){ div.innerHTML = ""; },3000) },false); EventUtil.addHandler(btn2,"click",function(event){ clearTimeout(overTime); },false) </script> </body> </html>
为什么清除定时器会报错呢?
1回答
同学你好, 因为在btn1点击事件内声明overTime变量, 清除定时器时访问不到这个变量,建议如下如方式声明变量:
如果帮助到了你,欢迎采纳
祝学习愉快~~~
相似问题