我知道JavaScript并不是最好的方法去做这件事。我知道我必须启用浏览器并始终运行。我通常会用Python做些事情。这是我的具体要求,我不是很熟练使用JavaScript。话虽如此。使用Javascript我希望能够在特定时间运行特定任务
我希望用户能够使用输入设置时间。一旦设置了这些输入,我希望浏览器检查指定的时间。一旦时间到了,我希望它执行一个命令。
她是我到目前为止有:
<html>
<body>
<p>Enter Time to start dashboard</p>
<p>Hour</p>
<input id="strthour">
<p>Minute</p>
<input id="strtmin">
<button onclick="setTime()">Submit</button>
<script>
var hr = 06; //default time of 6am to run
var mn = 00;
function setTime() {
hr = strthour.value;
mn = strtmin.value;
}
window.setInterval(function(){ // Set interval for checking
alert(hr+mn);
var date = new Date(); // Create a Date object to find out what time it is
if(date.getHours() === hr && date.getMinutes() === mn && date.getSeconds() === 0){ // Check the time
alert("it worked")
}
}, 5000); // Repeat every 60000 milliseconds (1 minute)
</script>
</body>
</html>
我能够改变全局变量,但我无法得到window.setInterval认识的变化。有什么建议?
这是我制作的JSFiddle的链接。
我不确定你的意思是“我无法获得window.setInterval来识别这些变化。”你能更具体地了解发生了什么问题吗?我预见到的一个问题是,你正在检查'date.getSeconds === 0'',但'setInterval'每5秒运行一次。 – jered
当我使用setTime()函数更改全局变量hr和mm时,window.setInterval无法识别更改。我希望能够使用setTime()更改全局变量,并让window.setInterval使用它们的值在特定时间运行命令。 – Ryan113