在特定时间创建通知/警报


create an notification/alert at an specific time

我创建了一个计时器,当计时器正好达到下午 5:00/17:00 时,用作警报的参考。你有什么想法我该怎么做吗?我偶尔会检查时间吗?

以下是我创建计时器的方法。

 <script language="JavaScript">
    var tick;
    function stop() {
        clearTimeout(tick);
    }
    function usnotime() {
        var datetoday = document.getElementById("datenow")
        var currentDate = new Date()
        var day = currentDate.getDate()
        var month = currentDate.getMonth() + 1
        var year = currentDate.getFullYear()
        datetoday.val("" + month + "/" + day + "/" + year + "");
        var txt = document.getElementById("timeticker")
        var ut = new Date();
        var h, m, s;
        var time = "      ";
        h = ut.getHours();
        m = ut.getMinutes();
        s = ut.getSeconds();
        if (s <= 9) s = "0" + s;
        if (m <= 9) m = "0" + m;
        if (h <= 9) h = "0" + h;
        time += h + ":" + m + ":" + s;
        txt.innerHTML = time;
        tick = setTimeout("usnotime()", 1000);
    }
    //--> document.rclock.rtime.value=time;   tick=setTimeout("usnotime()",1000);    }  //-->
</script>
<tr>
    <td class="tdlabel">Current Time:</td>
    <td>
        <div id="timeticker" name="rtime" size="22"></div>
    </td>
</tr>

而且我的计时器似乎没有显示。任何想法??

你有一个错误,你混合了javascript和jquery。

 datetoday.val("" + month + "/" + day + "/" + year + "");

应该是(假设日期今天是一个文本字段。如果div 使用 innerHTML 而不是值)

datetoday.value="" + month + "/" + day + "/" + year + "";

并在结束脚本标记之前添加

window.onload=function(){
    usnotime();
}

不确定这是否是确切的答案;它可能有助于发布更多代码。

  1. 我不明白你是如何开始这种方法的。 您可能需要添加 usnotime() 的按钮执行/页面加载调用。
  2. 您是否有所有这些变量的真实对象?(即时间自动收报机,日期现在)。
  3. 在浏览器中检查您的 JavaScript 错误日志。 没有更多代码让我看到出了什么问题有点困难,所以要么包含更多代码,要么使用调试器。

使用你可以做的setTimeout(),参考这个可能对你有用

这可能会对你有所帮助。

<html>
<head>
<title>(Type a title for your page here)</title>
<script type="text/javascript"> 
function display_c(){
var refresh=1000; // Refresh rate in milli seconds
mytime=setTimeout('display_ct()',refresh)
}
function display_ct() {
var strcount
var x 
var x1
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds= currentTime.getSeconds()
 x=month + "/" + day + "/" + year
if (minutes < 10){
minutes = "0" + minutes
}
x=x+"  "+hours + ":" + minutes +":"+seconds+ " "
x1=hours + ":" + minutes + ":"+seconds+" "
if(hours > 11){
x=x+"PM"
x1=x1+"PM"
if(x1=="5:30:0 PM"){alert(x1);}
} else {
x=x+"AM"
x1=x1+"AM"
if(x1=="8:16:0 AM"){alert(x1);}
}

document.getElementById('ct').innerHTML = x;
tt=display_c();
 }
</script>
</head>
<body onload=display_ct();>
<span id='ct' ></span>
</body>
</html>