我目前正在开发一个 ASP.NET 网页,我遇到了我遇到过的最烦人的问题。
过去三天我一直在研究这个问题,找不到任何人甚至遇到过这个问题,更不用说任何解决方案了。
我创建了一个带有 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>
任何帮助是极大的赞赏。谢谢!
- 标记