scriptaculous とプロトタイプを使用して JavaScript ドロップダウン リストを作成しようとしています。CSS :hover 疑似セレクターを使用してこれを実行できることはわかっていますが、さらに工夫を加えたいと思います。問題は、ドロップダウン/アップ効果を機能させることはできますが、非常に不安定に見えることです。これを行う簡単な方法はありますか、それともホバーに固執する必要がありますか? 使用しているCSSはこちらです。
<style type="text/css">
ul {list-style-type: none}
#navbar>li {
position: relative;
float: left;
padding-right: 20px;
height: 2em;
background-color: #002;
}
ul.dropdown {
display: block;
position: absolute;
top: 2em;
left: 0px;
background-color: #00c;
}
</style>
そして、これがhtmlです(ターゲットを最初に非表示にしたい場合は、スタイルシートの代わりにそこに置くように言われています)。
<ul id="navbar">
<li
onmouseover="Effect.BlindDown('dropdownone', { duration: 0.8 })"
onmouseover="Effect.BlindUp('dropdownone', { duration: 0.8 })"><a href="">Menu Link 1</a>
<ul id="dropdownone" class="dropdown" style="display: none">
<li>Drop Down Link 1</li>
<li>Drop Down Link 2</li>
<li>Drop Down Link 3</li>
</ul>
</li>
<li><a href="">Menu Link 2</a>
<ul id="dropdowntwo" class="dropdown">
<li>Drop Down Link 1</li>
<li>Drop Down Link 2</li>
<li>Drop Down Link 3</li>
<li>Drop Down Link 4</li>
<li>Drop Down Link 5</li>
</ul>
</li>
<li><a href="">Menu Link 3</a>
<ul id="dropdownthree" class="dropdown">
<li>Drop Down Link 1</li>
<li>Drop Down Link 2</li>
</ul>
</li>
</ul>