倒数计时器显示在网站上

时间:2013-09-05 04:48:39

标签: javascript asp-classic

我是许多网站的内容编辑,最近我不得不在网站的某些技术部分工作。

托管我们网站的服务器每天在新加坡时间下午4点(GMT +8)重置。我希望创建一个Javascript,它将在SG时间下午3点45分左右向用户显示倒计时。这将是一个倒数计时器,可以倒计时到下午4点,并会有一条消息说该网站将会关闭。在下午4点15分之后,倒计时以及消息将被删除。

我们的网站是使用AtHomeNet.com创建的基本框架创建的;这些页面是ASP页面。我无法控制服务器本身(所有都由AHN.com控制),我也无法访问服务器。我这样说是因为我已经阅读了StackOverflow中的一些主题,并且我理解检查服务器时间而不是检查系统时间要好得多。不幸的是,我记得,Javascript是客户端的,我不会(出于上述原因)能够为服务器端包含任何内容。

我在线查看了一些脚本;但是,我不确定我应该如何只在特定时间显示和隐藏消息(即仅在下午3点45分显示,并在下午4点15分后隐藏)

非常感谢任何反馈和帮助。

我的代码:

var d = new Date();
var m = d.getMinutes();
var h = d.getHours();

var hShowMsgStart = 15;
var mShowMsgStart = 45;

var hShowMsgEnd = 16;
var mShowMsgEnd = 15;

labelRef.innerText = "The time is now: " + h.toString() + m.toString() + "hrs";

if ((h >= hShowMsgStart && m >= mShowMsgStart) || (h <= hShowMsgEnd && m<=mShowMsgEnd) {
   //alert the user that it is 1545hrs
    labelRef.innerText = "The time is now: " + h.toString() + m.toString() + "hrs. Please note that the site will be temporarily down for 5 minutes from 4pm till 4.15pm SG time. Please save your work and log out before 4pm SG time";
} 

1 个答案:

答案 0 :(得分:1)

请记住,Javascript使用客户端计算机的内部时钟,因此您无法控制用户所在的时区,除非您使用某个第三方库(但这不是此问题的内容)。

要实现您的目标,您应该使用setInterval。

  

setInterval()方法将等待指定的毫秒数,然后执行指定的函数,并在每个给定的时间间隔继续执行该函数。 - 来自w3schools。

这样的事情:

    function checkTime() {
       var id = "warningLabel"; // the id of the label you want to use.
       var d = new Date();
       var m = d.getMinutes();
       var h = d.getHours();

       var hShowMsgStart = 15;
       var mShowMsgStart = 45;

       var hShowMsgEnd = 16;
       var mShowMsgEnd = 15;
       var label = document.getElementById(id);
       if ((h >= hShowMsgStart && m >= mShowMsgStart) || (h <= hShowMsgEnd && m <= mShowMsgEnd)) {
           label.style.display = "block";
       } else {
           label.style.display = "none";
       }
       label .innerText = "The time is now: " + h.toString() + m.toString() + "hrs. Please note that the site will be temporarily down for 5 minutes from 4pm till 4.15pm SG time. Please save your work and log out before 4pm SG time";
   }

   setInterval(checkTime, 1000);  // now it will run the checkTime function every second.