私のスクリプトは、FF、Opera、IEでほぼ完全に機能します。ChromeとSafariは、わずかに異なる動作を示します。
ホバーは正常に機能しているようです。しかし、「選択された」liにカーソルを合わせると、追加のdivが追加されます。この追加のdivは、既存のdivとオーバーラップし、スムーズなホバー効果を提供しません。ChromeとSafariは、この追加のdivとは少し異なる動作をします。ChromeとSafariで選択したliにカーソルを合わせると、選択したliからdivが削除され、最初のliの前に追加されます。この追加のdivがjQueryスクリプトのどこから来ているかはわかっていますが、この問題を解決できません。
HTML:
<div class="navigation">
<ul class="nav">
<li class="first"><a href="#">List 1</a></li>
<li class=""><a href="#">List 2</a></li>
<li class=""><a href="#">List 3</a></li>
<li class="last selected"><a href="#">List 4</a></li>
</ul>
</ p>
CSS:
ul.nav li div.menu-hover {
width:10px; height:10px;
background-color:black; position:absolute; left:40px; display:none;
}
jQuery:
$("ul.nav > li").hover(
function() {
$(this).prepend("<div class='menu-hover'></div>");
$("ul.nav > li div.menu-hover").fadeIn("slow");
}, function() {
$(this).find("div:last").remove();
});
$("ul.nav > li.selected").prepend("<div class='menu-hover'></div>");
$("ul.nav > li.selected > div.menu-hover").fadeIn("slow");