使一个新元素在某个时间出现

Make a new element appear on certain time

本文关键字:时间 新元素 一个 元素      更新时间:2023-09-26

我有一项任务要在活动直播开始时在网站上添加横幅。它有固定的时间,例如每周六14:00 GMT+2。我怎么能做到这一点,找不到任何教程或工具。

我知道我需要一个javascript工具,在excact设置时间添加类似div的html元素?

您可以使用setInterval定期检查事件。

setInterval(function(){
    var date = new Date();
    if(date.getDay() == 6 && date.getHours() == 14 && date.getMinutes() == 0){
        var container = document.getElementById("#container");
        container.innerHTML = "<div>BROADCASTED EVENT</div>";
    }
},1000*60);

这样尝试:

var showTime = Date.parse('Thu Mar 26 2015 09:11:19 GMT+0100');
function timerfun() {
var curTime = new Date();
var done = false;
    if (curTime > showTime) {
            done = true; 
            alert("Hello I'm awful banner!");
    }
    if (!done) {
        setTimeout(timerfun, 1000);
    }
}
setTimeout(timerfun, 1000);

由于没有足够的代表,我无法评论。我想添加到Aditya的答案中:

以下要点:1000表示1000ms,即1秒,乘以60表示该功能将每分钟检查一次时间,如果您想更改该功能每次检查的次数。

该函数将无休止地继续,如果您想停止它,请使用clearInterval()

如果使用JavaScript执行此操作,则横幅的外观将取决于用户的时间。如果用户在他的设备上设置了错误的时间,那么你就有问题了。正确的方法是使用后端语言,如PHP或Java,将出现日期存储在数据库中,在将横幅数据发送到客户端之前,检查存储的日期是否与当前日期相同。例如:

 <?php
   banner = new Banner();
   (if banner.showTime === date()) {
     echo '<img src="' + banner.src + '" />
   }
 ?>