これは 2 番目に単純なロールオーバー効果ですが、簡単な解決策はまだ見つかりません。
募集:アイテムのリストと、対応するスライド (DIV) のリストがあります。読み込み後、最初のリスト項目が選択され (太字)、最初のスライドが表示されます。ユーザーが別のリスト項目にカーソルを合わせると、代わりにそのリスト項目が選択され、対応するスライドが表示されます。
次のコードは機能しますが、ひどいものです。この動作をエレガントな方法で取得するにはどうすればよいですか? jquery にはアニメーション化された複雑なロールオーバー効果が多数ありますが、私はこの効果のきれいな方法を思いつきませんでした。
<script type="text/javascript">
function switchTo(id) {
document.getElementById('slide1').style.display=(id==1)?'block':'none';
document.getElementById('slide2').style.display=(id==2)?'block':'none';
document.getElementById('slide3').style.display=(id==3)?'block':'none';
document.getElementById('slide4').style.display=(id==4)?'block':'none';
document.getElementById('switch1').style.fontWeight=(id==1)?'bold':'normal';
document.getElementById('switch2').style.fontWeight=(id==2)?'bold':'normal';
document.getElementById('switch3').style.fontWeight=(id==3)?'bold':'normal';
document.getElementById('switch4').style.fontWeight=(id==4)?'bold':'normal';
}
</script>
<ul id="switches">
<li id="switch1" onmouseover="switchTo(1);" style="font-weight:bold;">First slide</li>
<li id="switch2" onmouseover="switchTo(2);">Second slide</li>
<li id="switch3" onmouseover="switchTo(3);">Third slide</li>
<li id="switch4" onmouseover="switchTo(4);">Fourth slide</li>
</ul>
<div id="slides">
<div id="slide1">Well well.</div>
<div id="slide2" style="display:none;">Oh no!</div>
<div id="slide3" style="display:none;">You again?</div>
<div id="slide4" style="display:none;">I'm gone!</div>
</div>