问题描述
- 在指定的时间段清除定时器,大家帮忙看一下这段代码有什么问题?
-
<script type='text/javascript'> var date_time = new Date(); var current_time = date_time.getHours() + ":" + date_time.getMinutes() + ":" + date_time.getSeconds(); if (current_time >= '7:20:00' && current_time <= '7:55:00') { var bus = setInterval(function() { if (current_time >= '7:55:00' && current_time <='8:10:00') { clearInterval(bus); } alert('aaa'); },2000); } </script>
解决方案
从这里看不出你的current_time 会动态改变。另外alert('aaa');会阻塞setInterval执行,也就是如果不点弹出框,不会往下执行
解决方案二:
var date_time = new Date();
var current_time = date_time.getHours() + ":" + date_time.getMinutes() + ":" + date_time.getSeconds();
if (current_time >= '7:20:00' && current_time <= '7:55:00') {
var bus = setInterval(function () {
date_time = new Date();
current_time = date_time.getHours() + ":" + date_time.getMinutes() + ":" + date_time.getSeconds();//要重新获取一次
if (current_time >= '7:55:00' && current_time <= '8:10:00') {
clearInterval(bus);
}
alert('aaa');
}, 2000);
}
解决方案三:
你的 current_time都没有改变
时间: 2024-10-01 23:51:46