我有一个jquery / css下拉菜单,我正在为一个网站工作。它运行良好,除了当您在子菜单项之间导航时,由于我使用的CSS边界,所选主菜单项仅更改它的文本颜色一秒钟。这不是很明显,但它已经困扰了我多年!我想保持边界分离子菜单,但我不想要闪光!我可以使用一些计时器来解决这个问题吗?或者我可以制作边框以便它在框内?非常感谢你的帮助!
这是jsfiddle:http://jsfiddle.net/BLvKK/1/
注意:我知道使用css:hover属性而不是通过jquery触发翻转是更经济的,我此时只使用了jquery,因为我正在测试它。
这是html:
<div id = "nav_div">
<ul id="navigation">
<li id="home">
<a href="#" class="nav_style" id="home_a">Home</a>
</li>
<li id="sign_ups">
<a href="#" class="nav_style" id="sign_ups_a">Sign-ups</a>
<ul class="sub_nav_style" id="sign_ups_sub">
<li>
<a href="#">Camper Sign-up</a>
</li>
<li>
<a href="#">Junior Counselor Sign-up</a>
</li>
<li>
<a href="#">Counselor Sign-up</a>
</li>
</ul>
</li>
<li id="info">
<a href="#" class="nav_style" id="info_a" name="info_a">Information</a>
<ul class="sub_nav_style" id="info_sub">
<li>
<a href="#">Facts You Need</a>
</li>
<li>
<a href="#">Contact Information</a>
</li>
<li>
<a href="#">Vendor Information</a>
</li>
</ul>
</li>
<li id="about_camp">
<a href="#" class="nav_style" id="about_camp_a" name="about_camp_a">About Camp</a>
<ul class="sub_nav_style" id="about_camp_sub">
<li>
<a href="#">What People Say</a>
</li>
<li>
<a href="#">Sample Menu</a>
</li>
<li>
<a href="#">Photos</a>
</li>
</ul>
</li>
<li id="donate">
<a href="#" class="nav_style" id = "donate_a">Make a Donation</a>
</li>
</ul>
这是css:
ul{
margin:0 auto;
padding:0;
list-style-type:none;
}
a{
text-decoration:none;
}
#nav_div{
width:100%;
height:36px;
background:#b9bbbd;
text-align:center;
z-index:1;
}
ul#navigation{
text-align:center;
float:left;
}
ul#navigation li{
float:left;
min-width:170px;
font-size:13px;
}
ul.sub_nav_style {
position:absolute;
display:none;
padding-top: 10px;
}
ul.sub_nav_style li{
font-family:Tahoma, Geneva, sans-serif;
clear:both;
background:#b9bbbd;
border-bottom:1px solid #999999;
}
ul.sub_nav_style li a{
color:#FFFFFF;
}
a,
a:active,
a:visited {
display:block;
padding:10px;
}
.nav_style{
font-family:Tahoma, Geneva, sans-serif;
font-size:13px;
background:#b9bbbd;
color:#FFFFFF;
}
.nav_style:hover{
font-family:Tahoma, Geneva, sans-serif;
font-size:13px;
background:#114878;
color:#000000;
}
.nav_style_roll_off{
font-family:Tahoma, Geneva, sans-serif;
font-size:13px;
background:#b9bbbd;
color:#114878;
}
.sub_nav_style_bround_roll{
background:#25313d;
}
继承人JQuery:
// JavaScript Document
$(document).ready(function() {
//sub rolls sign ups
$("ul#navigation li#sign_ups ul li:eq(0) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#sign_ups_a").toggleClass("nav_style_roll_off");
});
$("ul#navigation li#sign_ups ul li:eq(1) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#sign_ups_a").toggleClass("nav_style_roll_off");
});
$("ul#navigation li#sign_ups ul li:eq(2) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#sign_ups_a").toggleClass("nav_style_roll_off");
});
// sup rolls info
$("ul#navigation li#info ul li:eq(0) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#info_a").toggleClass("nav_style_roll_off");
});
$("ul#navigation li#info ul li:eq(1) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#info_a").toggleClass("nav_style_roll_off");
});
$("ul#navigation li#info ul li:eq(2) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#info_a").toggleClass("nav_style_roll_off");
});
//sub rolls about_camp
$("ul#navigation li#about_camp ul li:eq(0) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#about_camp_a").toggleClass("nav_style_roll_off");
});
$("ul#navigation li#about_camp ul li:eq(1) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#about_camp_a").toggleClass("nav_style_roll_off");
});
$("ul#navigation li#about_camp ul li:eq(2) a").hover(function() {
$(this).toggleClass("sub_nav_style_bround_roll");
$("#about_camp_a").toggleClass("nav_style_roll_off");
});
});
//slide toggles
$("#sign_ups").hover(function() {
$("#sign_ups_sub").slideToggle('fast');
});
$("#info").hover(function() {
$("#info_sub").slideToggle('fast');
});
$("#about_camp").hover(function() {
$("#about_camp_sub").slideToggle('fast');
});
再次感谢!
答案 0 :(得分:0)
如果您只想让文字保持白色,只需从任何地方删除.toggleClass("nav_style_roll_off");
:
更新: 要删除闪烁:http://jsfiddle.net/BLvKK/7/