0
飞我有一个JS dropdownmenu一个js下拉菜单,我想风格上飞造型上与jQuery
我已完成了大部分工作,但是当我将鼠标悬停在菜单元素,它改变了BG整个菜单的颜色和文字颜色,而不仅仅是菜单元素的悬停
我该如何更改只悬停在元素上的样式?
我网站上的菜单和造型是从MySQL数据库拍摄,但在这个例子中我已经硬编码在菜单元素和造型。
任何帮助非常感谢
代码
CSS:
#jsddm {
margin: 0;
padding: 0
}
#jsddm li {
float: left;
list-style: none;
font: 12px Tahoma, Arial
}
#jsddm li a {
display: block;
padding: 5px 12px;
text-decoration: none;
border-right: 1px solid white;
width: 70px;
white-space: nowrap
}
#jsddm li a:hover {
background: #fff
}
#jsddm li ul {
margin: 0;
padding: 0;
position: absolute;
visibility: hidden;
border-top: 1px solid white
}
#jsddm li ul li {
float: none;
display: inline
}
#jsddm li ul li a {
width: auto;
background: #fff
}
#jsddm li ul li a:hover {
background: #fff
}
个
JS:
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open() {
jsddm_canceltimer();
jsddm_close();
ddmenuitem = $(this).find('ul').css('visibility', 'visible');
}
function jsddm_close() {
if (ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}
function jsddm_timer() {
closetimer = window.setTimeout(jsddm_close, timeout);
}
function jsddm_canceltimer() {
if (closetimer) {
window.clearTimeout(closetimer);
closetimer = null;
}
}
$(document).ready(function() {
$('#jsddm > li').bind('mouseover', jsddm_open);
$('#jsddm > li').bind('mouseout', jsddm_timer);
});
document.onclick = jsddm_close;
$('#jsddm > li > a').css({
'background-color': '#000000',
'color': '#FFFFFF'
});
$('#jsddm > li > a').mouseenter(function() {
$('#jsddm > li > a').css({
'background-color': '#FFFFFF',
'color': '#000000'
});
});
$('#jsddm > li > a').mouseleave(function() {
$('#jsddm > li > a').css({
'background-color': '#000000',
'color': '#FFFFFF'
});
});
HTML:
<ul id="jsddm">
<li><a href="home">Home</a></li>
<li><a href="products">Products</a>
<ul>
<li><a href="product1">Product1</a></li>
<li><a href="product2">Product2</a></li>
</ul>
</li>
<li><a href="contact">Contact Us</a></li>
<li><a href="about">About Us</a></li>
</ul>
要成为一个更有点冗长'$( 'jsddm> LI> A')'选择与选择器匹配的所有元素(这就是为什么你的'mouseenter'和'mouseleave'函数适用于所有元素.''''选择器只选择当前触发功能。 – gaynorvader
@abhitalks你先生是一个绅士和学者,非常感谢您的快速反应和解决方案 –
@ gaynorvader感谢故障和解释 –