1

このコードを使用して div の背景を時刻から変更したいのですが、機能しません。埋め込み css に追加したい (4 番目のリンク)。残りのルールに追加されます。

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 に答える