私は JavaScript に比較的慣れていませんが、HTML 内でインライン イベントを使用せずにロールオーバー関数を呼び出すためのより効率的な方法を見つけようとしています。以下は私が現在使用している方法です:
HTML
<div id="work_square">
<img onmouseover="rolloverIn('rollover_1');" onmouseout="rolloverOut('rollover_1');" src="images/frugal_image.png" width="100%"/>
<div onmouseover="rolloverIn('rollover_1');" onmouseout="rolloverOut('rollover_1');" id="rollover_1" class="rollovers">
<div id="rollover_text">
<h2>ROLLOVER 1 TITLE</h2>
<p>This is rollover 1.</p>
</div>
</div>
</div>
<div id="work_square">
<img onmouseover="rolloverIn('rollover_2');" onmouseout="rolloverOut('rollover_2');" src="images/exhibiton_image.jpg" width="100%"/>
<div onmouseover="rolloverIn('rollover_2');" onmouseout="rolloverOut('rollover_2');" id="rollover_2" class="rollovers">
<div id="rollover_text">
<h2>ROLLOVER 2 TITLE</h2>
<p>This is rollover 2.</p>
</div>
</div>
</div>
JS
<script>
function rolloverIn(el){
var elem = document.getElementById(el);
elem.style.opacity = 1;
elem.style.transform = "scale(1)";
}
function rolloverOut(el){
var elem = document.getElementById(el);
elem.style.opacity = 0;
elem.style.transform = "scale(0)";
}
基本的に、画像またはロールオーバーがマウスオーバーされたときに各work_squareに配置されたロールオーバーにCSS変換と不透明度の変更を適用し、マウスアウトで変更を削除する関数を呼び出しています。
この方法は機能しますが、インライン コーディングは悪い習慣だと理解しています。誰かが私をより効率的な方法に向けて正しい方向に向けることができますか?
ありがとう。