質問:.classList.toggle
は、要素からCSSクラスを追加または削除します。それは素晴らしいですが、私は誰かが私の周りの方法を示すことができることを願って限界を遭遇したように見えます。.classList.toggleの.style.property値を上書きすると動作しない
要素スタイルを設定するのにJavascriptを使用すると、.style.backgroundColor = "red"
のように、classList.toggle
を使用した次の行はこのスタイルを上書きできないようです。
詳細:以下のコードは完全に機能します。ウィンドウをクリックすると、背景色が赤から青に切り替わります。
window.addEventListener("click", myFunction);
\t
function myFunction(e) {
document.getElementsByClassName("box_1")[0].classList.toggle("color_swap");
}
.box_1 {
\t height: 100px;
\t background-color: red;
\t transition: all .5s;
}
.color_swap {
\t background-color: blue;
\t transition: all .5s;
}
<div class="box_1"></div>
しかし、私は遷移は、もはや作品JavaScriptを使用して背景色を設定し、一番上の行を追加したとき。
document.getElementsByClassName("box_1")[0].style.backgroundColor = "red";
\t
window.addEventListener("click", myFunction);
\t
function myFunction(e) {
document.getElementsByClassName("box_1")[0].classList.toggle("color_swap");
}
.box_1 {
\t height: 100px;
\t background-color: red;
\t transition: all .5s;
}
.color_swap {
\t background-color: blue;
\t transition: all .5s;
}
<div class="box_1"></div>
この問題を回避する方法はありますか? Javascriptでプロパティを設定できるようにしたいのですが、まだJavaScriptを使ってtoggle
/add
/remove
クラスにすることができます。本当にありがとう!
あなたは正しいですか?私は特異性については考えていませんでしたが、Devtools> Elementsのコードを見たとき、私はあなたが意味するものを見ました。ありがとう! – DR01D
あなたは大歓迎です! – aaron