繁体   English   中英

每周在特定时间更改按钮文本(或 div)

[英]Change button text (or div) at certain time every week

这有点难以解释,但我有一个显示“离线”的按钮,我希望它在每周五晚上 7 点到 9 点之间自动更改为“在线”,但在 9 点需要切换回“离线” ' 再次。

是否有某种 JavaScript 解决方案? 我还没有尝试过任何代码,因为我不确定从哪里开始。

感谢任何建议。

谢谢

JS 有一个内置的 Date 函数,你可以使用

var time = new Date();
var hours = time.getHours()
var day = time.getDay()
if ((hours > 18 && hours < 22) && day == 5) {
  // do stuff with button
}

尽管您可能希望它在一个时间间隔内运行,因此如果有人在 8:58 访问网站并且他们将其加载到 9:02,它仍会在 9:00 关闭

setInterval(() => { 
  var time = new Date();
  var hours = time.getHours()
  var day = time.getDay()
  if ((hours > 18 && hours < 22) && day == 5) {
    // do stuff with button
  }
}, 1500); // every 15 secs checks this

这里有一些参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

您可以使用 getDay() 和 getHour()。 下面是一个例子:

  • 如果getDate()是 5 这意味着它是星期五
  • 如果getHour()在 19 到 21 之间,这意味着在晚上 7 点到 9 点之间

 var today = new Date(); var element = document.getElementById('status') if(today.getDay() == 5 && (today.getHours() >= 19 && today.getHours() <= 21)){ element.innerHTML = 'online'; }else{ element.innerHTML = 'offline' }
 <button id="status"></button>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM