Javascript 在一天中的某个时间插入元素

Javascript 在一天中的某个时间插入元素,javascript,jquery,Javascript,Jquery,做某事的最佳方式是什么,比如在一天中的某个特定时间插入一个元素?我应该使用setTimeout()操作系统吗?有更好的方法吗?setInterval()更好。但是不要把时间间隔设置为24小时,或者别的什么。将其设置为每隔一分钟左右检查一次时间,如果新日期()大于您想要的时间,则运行元素插入函数。setTimeout()和setInterval()都执行与加载时间相关的计时js语句,而不是在每天的特定时间,因此它们看起来不是一个干净的解决方案。您可以在其中加入一些服务器端脚本。从我疲惫的头脑中提取

做某事的最佳方式是什么,比如在一天中的某个特定时间插入一个元素?我应该使用setTimeout()操作系统吗?有更好的方法吗?

setInterval()更好。但是不要把时间间隔设置为24小时,或者别的什么。将其设置为每隔一分钟左右检查一次时间,如果新日期()大于您想要的时间,则运行元素插入函数。

setTimeout()和setInterval()都执行与加载时间相关的计时js语句,而不是在每天的特定时间,因此它们看起来不是一个干净的解决方案。您可以在其中加入一些服务器端脚本。从我疲惫的头脑中提取出一些随机的解决方案:

  • 只需将html元素包装在只在给定时间执行的条件语句(php、python等)中
  • 在页面上显示元素,但将其设置为显示:无。使用php在特定时间添加一个类/样式,该类/样式将覆盖display属性
  • 同样,使用php添加一个类,但这次使用js将元素添加到DOM中,使用新类作为新元素位置的标识符
如果你想把所有东西都保存在客户端,显然不是很好…:)

编辑 要在每天下午1点到2点之间用php执行语句(未经测试):

$now=date('G',time());
$start=13;
$end=14;

如果($now>=$start&&$now首先,确定这是需要在客户端还是服务器端进行的操作。您没有提供足够的信息来确定这一点,但由于您已经标记了此Javascript,我认为客户端是最好的方法

按照这个假设,听起来用户将有一个打开的网页,并且在一天中的某些时候你想要操纵或添加内容

以下是一个例子:

每分钟检查一次,并仅在下午1:59之后和下午6:00之前(在用户时区上)显示一个带有预先存在内容的DIV(ID为
target
):

setTimeout(函数(){
var hour=(新日期()).getHours();

如果(hour>1&&1.不要使用Javascript。2.使用Python或其他在浏览器外运行的编程语言。3.使用cron或其他调度程序。@S.Lott可能存在一些有效的用例(例如,创建在浏览器中运行的Javascript闹钟)为什么你不建议使用JavaScript来做这件事?重复的问题(有一些好的答案):如何在特定时间使用php添加类?是的,这也是我的想法,服务器端选项如何?除了使用php,有没有其他方法可以进行simlilar操作?是的,但您可以看到它是如何完成的。如果您了解php,编写或查找示例应该不是一个大问题。
$now = date('G',time());
$start = 13;
$end = 14;
if($now >= $start && $now <= $end){ 
    //do something
}
setTimeout ( function(){

  var hour = (new Date()).getHours();
  if (hour>1 && <6) {
    document.getElementById('target').style.display = "block";
  } else {
    document.getElementById('target').style.display = "none";
  }

}, 60000 );