2016-11-24 1 views
4

Pseudo Selectorを使用せずにJSインライン(DOM内)を適用したり、JSを使用してdomにプロパティclassを追加したり変更したりすることは可能ですか? 。 CSSトランジションをインラインで適用できますか?

#target{ 
 
    width: 100px; 
 
    height:100px; 
 
    background-color:red; 
 
}
<div id="target" style="transition: opacity 1s linear;"></div>

+0

はい、我々はできます。しかし、ちょうどあなたがするべきではないことを意味する;-) –

答えて

2

遷移は、任意の効果をもたらすように変化する値を必要とします。これは、あなたが言及したように、クラスを切り替えるか、または擬似セレクタを使用して通常達成されます。

あなたが任意の変更値なしで起こるためにあなたの「移行」をしたい場合は、アニメーションを使用する必要があります。

#target{ 
 
    width: 100px; 
 
    height:100px; 
 
    background-color:red; 
 
} 
 

 
@keyframes fadeMe { 
 
    from { 
 
    opacity: 0; 
 
    } 
 
    to { 
 
    opacity: 1; 
 
    } 
 
}
<div id="target" style="animation: fadeMe 2s;"></div>

私はあなたがこれを行う必要があるだろう、なぜわかりませんインライン。あなたはそれを達成することができますjavascriptのインラインとの組み合わせ

+0

これを行う大きな理由は、カットアンドペーストHTML(インライン広告を提供するなど)のためです。 – Sablefoste

2

、これを試してみてください:

#target{ 
 
    width: 100px; 
 
    height:100px; 
 
    background-color:red; 
 
}
<div id="target" style="transition: all 4s linear;" onclick="this.style.opacity = '.3'">click me</div>

+0

、なぜインラインJavaScriptのみ動作しますか? –

+0

DOMの更新は、インラインのjavascriptに限らず、どんな種類のものでもうまくいくようです。 ReactJSを使用してChromeで作業しているトランジションを確認して、render()メソッドでインラインスタイルを更新しました。限界があるかどうかわかりません。 – Eloff

関連する問題