私は現在、ASP.NET Web ページを開発していますが、これまでに遭遇した中で最も苛立たしい問題に遭遇しました。
私は過去 3 日間この問題を調査してきましたが、解決策はおろか、この問題を抱えている人さえ見つけることができません。
HTML/CSS を使用してメニュー/サブメニューを作成し、サブメニューに何らかのトグル効果を追加して、スライドダウンまたはフェードインします (両方を試しましたが、両方とも同じ結果が得られます)。
Internet Explorer では、うまく機能します。メニューにカーソルを合わせると、正しくスライドダウンまたはフェードインし、マウスを離すと消えます。
Chrome/Firefox では、私はそれほど幸運ではありません。サブメニューは最初は隠れていて、一度カーソルを合わせると表示されます。マウスを離すと、すぐに閉じてから、自動的に再び開きます。この時点で、取り返しがつきません。カーソルを合わせると消え、マウスを離すと再び表示されます。これは、ページがリロードされるまで発生し続けます。
ここにHTMLのメニューがあります...
<ul id="menu">
<li><a href="Default.aspx">Home</a></li>
<li><a href="Services.aspx">Services</a>
<ul id="submenu">
<li>Custom CRM</li>
<li>Website Development</li>
</ul>
</li>
<li><a href="About.aspx">About</a></li>
<li><a href="Contact.aspx">Contact Us</a></li>
</ul>
このメニューにかかるCSSは、これで...
#menu
{
padding:0;
text-align: center;
margin: 0;
width: 100%;
}
#menu li
{
height: 35px;
float: left;
list-style: none;
width: 25%;
font-size: larger;
cursor: pointer;
position: relative;
}
#menu li a
{
display: block;
height: 35px;
text-decoration: none;
color: White;
font-weight: bold;
padding-top: 5px;
}
#menu li:hover
{
background-color: #4CC417;
}
#menu li:hover ul
{
display: block;
}
#menu ul
{
margin: 0;
padding: 0;
position: absolute;
z-index: 999;
top: 36px;
width: 140%;
display: none;
list-style: none;
left: 0;
}
#menu ul li
{
text-align: left;
font-size: medium;
width: auto;
float: none;
background-color: #387C44;
color: White;
font-weight: bold;
padding-left: 5px;
}
#submenu ul
{
display: none;
z-index: 999;
}
#submenu
{
display: none;
}
そして最後に、これが私が作成した JQuery コードです...
<script type="text/javascript">
$(document).ready(function () {
$("#menu ul").parent().hover(function () {
$("#submenu").stop(true, true).fadeToggle("slow");
});
});
</script>
どんな助けでも大歓迎です。ありがとうございました!
- マーク