jQueryを使用して順序付けられていないリストメニューの上にマウスを置くと滑らかなフェードイン/フェードアウトエフェクトを作成しようとしています。サブアイテムを含むメニュー項目の上にマウスを置くが、私はそれを隠すのに苦労している。マウスを動かすとメニュー要素がフェードアウトされます
必要条件は次のとおりです。 - マウスがサブメニューの項目を超えていない場合、または親がサブメニューのリストをフェードアウトする場合。私は私のメニューのスクリーンショットとHTMLマークアップを含めてだ
は、私が上記の要件ごとにメニューを非表示にすることができますどのように提案してください:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Home</title>
<link href="Styles/Style.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
$('#subList').css("display", "none");
$('#item3').mouseover(function() {
$('#subList').fadeIn('slow');
$('#subList').css("display", "block");
});
$('#subItem1').mouseover(function() {
$('#subList').css("display", "block");
});
$('#subItem2').mouseover(function() {
$('#subList').css("display", "block");
});
$("#subItem1").mouseleave(function() {
$("#subList").fadeOut("slow");
});
$('#subItem2').mouseleave(function() {
$('#subList').fadeOut("slow");
});
});
</script>
</head>
<body>
<div class="menu">
<ul>
<li><a href="item4.htm">Menu Item 4</a></li>
<li><a href="#" id="item3">Menu Item3</a>
<ul id="subList">
<li id="subItem1"><a href="subItem1.htm">Sub Item 1</a></li>
<li id="subItem2"><a href="subItem2.htm">Sub Item 2</a></li>
</ul>
</li>
<li><a href="item2.htm">Menu Item 2</a></li>
<li><a href="item1.htm">Menu Item 1</a></li>
</ul>
</div>
</body>
</html>
あなたのコードで何が間違っているのか詳しく調べることができます。私はあなたのコードをjsfiddleのリンクにコピーしています。http://jsfiddle.net/2yEtK/ –