我是JavaScript的新手,我一直在研究和使用事件计时以及setInterval和setTimeout函数。我有一个简单的代码,在5秒的间隔后显示一个问候语“早安”,“今天你好吗?”间隔10秒后。
script type="text/javascript">
setInterval(function () {document.write("Good Morning")}, 5000);
setInterval( function () {document.write("How are you doing today?")}, 10000);
</script>
问题出现在每10秒钟后,两者显然会同时出现,这不是理想的情况。如何在不改变上面代码中的时间的情况下纠正这个问题?确保问候“早安”的某种方式成为首要任务。
答案 0 :(得分:0)
如果你想得到“早安”和“今天你好吗?”每隔5秒逐个消息使用:
!function greet(){
setTimeout(function(){
log('Good Morning');
setTimeout(function(){
log('How are you doing today?');
greet();
}, 5000);
}, 5000);
}();
如果您想要其他行为,请澄清。
答案 1 :(得分:0)
你可以简单地使用10秒的间隔,延迟以5秒的超时时间开始其中一个间隔。
setInterval(function () {
console.log("Good Morning", new Date)
}, 10000);
setTimeout(function () {
setInterval(function () {
console.log("How are you doing today?", new Date)
}, 10000);
}, 5000);
(请注意,我已将document.write
替换为console.log
,因此您必须检查浏览器的JS控制台以查看结果。至于为什么今天不再使用document.write
,请做一些研究。)