1

我想用这段代码从一天中的某个时间更改我的 div 背景,但它不起作用。我想将它添加到我的嵌入 css(第四个链接)。它将添加到剩余规则中。

var hur = new Date();
    var dyng = hur.getHours()
   if(dyng > 6 && dyng < 18){
     document.styleSheets[3].cssRules[0].style.background="url('/blog/themes/custom/img/sky.jpg')"
   }else{
    document.styleSheets[3].cssRules[0].style.background="url('/blog/themes/custom/img/night.jpg')"
   }

css

#test {
    background-size: cover;
    width: 100%;
    height: 220px;
}
4

3 回答 3

3

这通常可以通过使用一对 jQuery 方法以简单的方式实现:

.addClass()
.removeClass()

在一个普通的 Javascript 解决方案中,同样可以使用一对函数来完成:

element.setAttribute ("class", "CSS class name");
element.removeAttribute ("class", "CSS class name");
于 2013-05-10T16:17:30.157 回答
2

使用 JavaScript 修改 CSS 不是一个好主意。

最好在 CSS 中定义所有样式,并让 JavaScript通过添加/删除类来选择应用哪些规则。

您可以将该.className属性用于 DOM 元素(但我建议使用框架)。

于 2013-05-10T16:20:12.493 回答
2

您还可以使用setAttribute函数。

element.setAttribute('class', 'class name');
于 2013-05-10T16:38:53.650 回答