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变量, 清除定时器时访问不到这个变量,建议如下如方式声明变量:

如果帮助到了你,欢迎采纳
祝学习愉快~~~
相似问题