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回答

好帮手慕慕子

2019-04-13

同学你好, 因为在btn1点击事件内声明overTime变量, 清除定时器时访问不到这个变量,建议如下如方式声明变量:

http://img.mukewang.com/climg/5cb19c2f00014d9b07430601.jpg

如果帮助到了你,欢迎采纳

祝学习愉快~~~

0

0 学习 · 40143 问题

查看课程