麻烦老师检查一哈
来源:1-21 编程练习
__憨人
2020-06-10 10:52:13
<!DOCTYPE html>
<html>
<head lang="en">
<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>点击"删除"按钮后,里面的内容将在3秒钟后消失;<br/><br/>如点击了"删除"后又不想删除内容,请在点击"删除"按钮3秒之内点击"取消删除"按钮即可</div>
<script type="text/javascript">
//补充代码
var delBtn = document.getElementsByTagName("input")[0],
cancelBtn = document.getElementsByTagName("input")[1],
text = document.getElementsByTagName("div")[0],
timer;
delBtn.onclick = function(){
var delText = function(){
text.innerHTML = "";
}
timer = setTimeout(delText,3000);
}
cancelBtn.onclick = function(){
clearTimeout(timer);
}
</script>
</body>
</html>2回答
好帮手慕粉
2020-06-16
‘weixin_慕田峪7033080’同学你好,同学是说这样吗:

如果这样的话,delText()这个函数是没有被调用执行的,只是被声明定义了而已,我们可以试着打印个1看看:

在点击了删除按钮以后,这个1没有被打印出来,验证了这个函数没有被执行。
如果放在函数外面,是定义了delText()这个函数后,又设置了一个定时器,当点击删除按钮3秒后,再去执行delText()这个函数:

在点击删除按钮3秒后(不点击取消按钮的情况下),控制台的1也被输出:

同学再理解下。
另外,同学以后再有问题,建议同学新建一个问答进行提问哦,这样即便于同学后期的复习与整体,老师也能更快的看到同学的问题。
祝学习 愉快~
好帮手慕粉
2020-06-10
同学你好,代码实现的是正确的。继续加油,祝学习愉快~
相似问题