マスターページに次のコードがあります。
jQuery:
$(window).load(function () {
$("li.submenu").hover(
function () { $(this).find("ul").slideDown("slow"); },
function () { $(this).find("ul").slideUp("slow"); }
);
});
HTML:
<ul class="menu" runat="server" id="Menu">
<li class="first" runat="server"><asp:HyperLink runat="server" NavigateUrl="/index.aspx">Home</asp:HyperLink></li>
<li class="submenu" runat="server">
<asp:HyperLink runat="server" NavigateUrl="/categories/index.aspx">Products</asp:HyperLink>
<ul runat="server">
<li runat="server"><asp:HyperLink runat="server" NavigateUrl="/categories/category1.aspx">Dogs</asp:HyperLink></li>
<li runat="server"><asp:HyperLink runat="server" NavigateUrl="/categories/category2.aspx">Category 2</asp:HyperLink></li>
<li runat="server"><asp:HyperLink runat="server" NavigateUrl="/categories/category3.aspx">Category 3</asp:HyperLink></li>
<li runat="server"><asp:HyperLink runat="server" NavigateUrl="/categories/category4.aspx">Category 4</asp:HyperLink></li>
<li runat="server"><asp:HyperLink runat="server" NavigateUrl="/categories/category5.aspx">Category 5</asp:HyperLink></li>
<li class="last" runat="server"><asp:HyperLink runat="server" NavigateUrl="/categories/category6.aspx">Category 6</asp:HyperLink></li>
</ul>
</li>
<li class="last" runat="server"><asp:HyperLink runat="server" NavigateUrl="/contact.aspx">Contact Us</asp:HyperLink></li>
</ul>
これを変更するtoggle("slide")
と、マウスがli.submenu
. これは、要素が確実に存在し、タイプミスがないことを意味します。ただし、slideDown および slideUp 機能は機能していないようです (低速が超高速を意味しない限り...)。
jQuery と jQuery UI 用に含めているファイルは、jquery-1.4.2.js と jquery-ui-1.7.2.custom.min.js です。これで十分ですね。
ユーザーがJSを持っていない場合に備えて、サブメニューを即座に表示または非表示にすることを指定するCSSがあります(display: block;
/ )。display: none;
これが問題を引き起こしている可能性はありますか? JS が有効になっている場合に CSS が動作できないように、JS を使用してサブメニューのクラスを変更する必要がありますか? または、CSS が原因ではない他の問題がありますか?