【问题标题】:create an notification/alert at an specific time在特定时间创建通知/警报
【发布时间】:2012-08-10 03:51:18
【问题描述】:

我创建了一个计时器,当计时器正好到达下午 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>

而且我的计时器似乎没有显示。有什么想法吗??

【问题讨论】:

  • “datenow”在 var datetoday=document.getElementById("datenow") 中是什么样子的;你能给出更多的 HTML 代码来解释 datenow 元素吗
  • 查看this question 的第二个答案,我认为这就是您所需要的。

标签: php jquery timer alarm


【解决方案1】:

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

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

应该是(假设 datetoday 是一个文本字段。如果 div 使用 innerHTML 而不是 value)

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

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

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

【讨论】:

  • 不错!得到它的工作先生。尽管缺少代码,但感谢您的回答。你真的得到了我想问的东西。再次感谢!
【解决方案2】:

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

  1. 我不明白您是如何启动该方法的。您可能需要添加usnotime() 的按钮执行/页面加载调用。
  2. 你有所有这些变量的真实对象吗? (即timeticker、datenow)。
  3. 在浏览器中检查您的 JavaScript 错误日志。如果没有更多代码,我很难看到问题所在,因此要么包含更多代码,要么使用调试器。

【讨论】:

    【解决方案3】:

    使用setTimeout()你可以做,参考this它可能对你有用

    【讨论】:

    • 关于您提供的链接?我真的不能完全理解代码。我应该什么时候触发警报?并且似乎代码中的警报没有触发器。你能详细说明吗?谢谢。
    【解决方案4】:

    这可能对你有帮助....

    <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>
    

    【讨论】:

    • 考虑通过解释代码清单中发生的情况来改进您的答案。这样,它对经验不足的用户也很有启发性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    相关资源
    最近更新 更多