我想要的是一个 Javascript 中的计时器,它每天凌晨 2:00 关闭一次,当计时器关闭时会发出警报。我只是不知道该怎么做。
PS我在Javascript方面很糟糕,所以如果可以的话,你可以留下整个脚本,而不仅仅是做什么:)
我想要的是一个 Javascript 中的计时器,它每天凌晨 2:00 关闭一次,当计时器关闭时会发出警报。我只是不知道该怎么做。
PS我在Javascript方面很糟糕,所以如果可以的话,你可以留下整个脚本,而不仅仅是做什么:)
为了让 javascript 网页在未来的特定时间发出提示,您必须让浏览器在显示该页面的情况下运行。浏览器中网页中的 Javascript 仅在浏览器中当前打开的页面中运行。如果这确实是您想要做的,那么您可以这样做:
// make it so this code executes when your web page first runs
// you can put this right before the </body> tag
<script>
function scheduleAlert(msg, hr) {
// calc time remaining until the next 2am
// get current time
var now = new Date();
// create time at the desired hr
var then = new Date(now);
then.setHours(hr);
then.setMinutes(0);
then.setSeconds(0);
then.setMilliseconds(0);
// correct for time after the hr where we need to go to next day
if (now.getHours() >= hr) {
then = new Date(then.getTime() + (24 * 3600 * 1000)); // add one day
}
// set timer to fire the amount of time until the hr
setTimeout(function() {
alert(msg);
// set it again for the next day
scheduleAlert(msg, hr);
}, then - now);
}
// schedule the first one
scheduleAlert("It's 2am.", 2);
</script>
这应该有效。
function alarm() {
alert('my alert message');
setAlarm();
}
function setAlarm() {
var date = new Date(Date.now());
var alarmTime = new Date(date.getYear(), date.getMonth(), date.getDate(), 2);
if (date.getHours() >= 2) {
alarmTime.setDate(date.getDate() + 1);
}
setTimeout(alarm, alarmTime.valueOf() - Date.now());
}
setAlarm();