使用用户当前时间JavaScript更改CSS

使用用户当前时间JavaScript更改CSS,javascript,Javascript,我想使用当前时间添加更改css。 这是我想要的代码的说明 var today = new Date(); var hourNow = today.getHours(); var style; //add css// if (hourNow > 0) { //hour 00:00 - 12:00 the css// document.getElementsByTagName('BODY')[0].style.backgroundColor = "#fff";

我想使用当前时间添加更改css。 这是我想要的代码的说明

var today = new Date();
var hourNow = today.getHours();
var style; //add css//

    if (hourNow > 0) { //hour 00:00 - 12:00 the css//
      document.getElementsByTagName('BODY')[0].style.backgroundColor = "#fff";
      document.getElementsByTagName('BODY')[0].style.color= "#505050"; }

    else if (hourNow > 12) { //hour 120:00 - 18:00 the css//
      document.getElementsByTagName('BODY')[0].style.backgroundColor = "gainsboro";
      document.getElementsByTagName('BODY')[0].style.color= "black"; }

    else if (hourNow > 18) { //hour 18:00 - 00:00 the css//
      document.getElementsByTagName('BODY')[0].style.backgroundColor = "#1b1b1b";
      document.getElementsByTagName('BODY')[0].style.color= "#fff"; }

    else {
      document.getElementsByTagName('BODY')[0].style.backgroundColor = "white";
      document.getElementsByTagName('BODY')[0].style.color= "black";}

可能吗?我是JavaScript新手。

我会少重复我自己,而使用
else
(以相反的顺序列出事情),但从根本上说,这应该是可以的。如果我必须进行直接样式操纵,我会这样做:

var today=新日期();
var hourNow=today.getHours();
var风格;
如果(小时数>18){
背景=“#1b1b1b”;
color=“#fff”;
}否则,如果(小时数>12){
背景=“gainsboro”;
color=“黑色”;
}否则如果(小时当前>0){
背景=“#fff”;
color=“#50505”;
}
document.body.style.backgroundColor=背景;
document.body.style.color=颜色

这是文档正文。
我会少重复自己的内容,而使用
else
(按相反的顺序列出内容),但基本上这应该没问题。如果我必须进行直接样式操纵,我会这样做:

var today=新日期();
var hourNow=today.getHours();
var风格;
如果(小时数>18){
背景=“#1b1b1b”;
color=“#fff”;
}否则,如果(小时数>12){
背景=“gainsboro”;
color=“黑色”;
}否则如果(小时当前>0){
背景=“#fff”;
color=“#50505”;
}
document.body.style.backgroundColor=背景;
document.body.style.color=颜色

这是文档正文。
您的代码将始终满足第一个条件,除非它正好为0,在这种情况下,它将采用“默认值”。 我修复了它,使用它:

var today = new Date();
var hourNow = today.getHours();
var style; //add css//

if (hourNow >= 18) { //hour 18:00 - 00:00 the css//
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "#1b1b1b";
  document.getElementsByTagName('BODY')[0].style.color= "#fff"; }

else if (hourNow >= 12) { //hour 120:00 - 18:00 the css//
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "gainsboro";
  document.getElementsByTagName('BODY')[0].style.color= "black"; }

else if (hourNow >= 0) { //hour 00:00 - 12:00 the css//
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "#fff";
  document.getElementsByTagName('BODY')[0].style.color= "#505050"; }

else {
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "white";
  document.getElementsByTagName('BODY')[0].style.color= "black";}

您的代码将始终满足第一个条件,除非它正好为0,在这种情况下,它将采用“默认值”。 我修复了它,使用它:

var today = new Date();
var hourNow = today.getHours();
var style; //add css//

if (hourNow >= 18) { //hour 18:00 - 00:00 the css//
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "#1b1b1b";
  document.getElementsByTagName('BODY')[0].style.color= "#fff"; }

else if (hourNow >= 12) { //hour 120:00 - 18:00 the css//
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "gainsboro";
  document.getElementsByTagName('BODY')[0].style.color= "black"; }

else if (hourNow >= 0) { //hour 00:00 - 12:00 the css//
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "#fff";
  document.getElementsByTagName('BODY')[0].style.color= "#505050"; }

else {
  document.getElementsByTagName('BODY')[0].style.backgroundColor = "white";
  document.getElementsByTagName('BODY')[0].style.color= "black";}

在本例中,我将使用
开关
语句。另外,更改类名可能比设置样式更有效。测试一下

var today=新日期();
var hourNow=today.getHours();
开关(真){

case(hourNow>0&&hourNow 12&&hourNow在本例中,我将使用
switch
语句。此外,与设置样式不同,更改类名可能更有效。请进行测试

var today=新日期();
var hourNow=today.getHours();
开关(真){


案例(hourNow>0&&hourNow 12&&hourNow仅供参考,
document.getElementsByTagName('BODY')[0]
可以更简单地写成
document.body
。你试过了吗?对我来说似乎很合理。也回应我上面的评论。你显然可以在自己的代码中使用任何你想要的支撑样式,但当发布代码供他人阅读时,请使用模糊的标准和可读性。隐藏
}
在块的最后一行末尾不是模糊的标准或可读(或可维护).plz使用
if-else
而不是多个
if
是的,这当然是可能的。但是,看起来除非时间超过18小时,否则你总是会进入最后的
else
并将其设置为黑白。@FastSnail建议使用
else-if
可以解决这个问题。如果你的cod不是这个问题的话e、 也许吧。仅供参考,
document.getElementsByTagName('BODY')[0]
可以更简单地写成
document.body
。你试过了吗?对我来说似乎很合理。也回应我上面的评论。你显然可以在自己的代码中使用任何你想要的支撑样式,但当发布代码供他人阅读时,请使用模糊的标准和可读性。隐藏
}
在块的最后一行末尾不是模糊的标准或可读(或可维护).plz使用
if-else
而不是多个
if
是的,这当然是可能的。但是,看起来除非时间超过18小时,否则你总是会进入最后的
else
并将其设置为黑白。@FastSnail建议使用
else-if
可以解决这个问题。如果你的cod不是这个问题的话e、 也许吧。您通常不想在if-else语句中使用太多的条件。这就是我建议切换的原因statement@RichardHamilton:上述条件在
中并不太多,如果
开关
对于值的范围不是一个很好的选择。(这是可能的,但通常不是我们想要的。)…事实上,
switch
的使用只是另一个名字的
if/else
和一个不太为人所知的语法。看起来我在这里错了。不管怎样,你比我快了几分钟。所以这篇文章应该得到认可。你通常不想在if-else语句中使用太多的条件。这就是为什么我建议使用switch语句的原因t@RichardHamilton:上述条件在
中并不太多,如果
开关
对于值的范围不是一个很好的选择。(这是可能的,但通常不是我们想要的。)…事实上,
switch
的使用只是
if/else
的另一个名字和一个不太为人所知的语法。看起来我在这里错了。不管怎样,你比我快了几分钟。所以这篇文章应该在任何人给Richard带来困难之前得到认可:是的,JavaScript的
switch
真的让你这么做了。真的吗y、 :-)在任何人给Richard带来困难之前:是的,JavaScript的
开关确实可以让你做到这一点。真的。:-)