[英]jquery .parent() to target parent li of ul
嗨,我只是学习jQuery
因此,基本上,我会使用下拉菜单进行导航。
我的问题是我将导航鼠标悬停在背景编号222上,但是一旦将鼠标移到现在已经下拉的菜单上,悬停效果就会消失。
这是jQuery
$('.navi li ul').each(function() {
$(this).hover(
function() {
$(this).parent('li').css({ 'background-color' : '#222',
'color' : '#FFFFFF'});
},
function() {
$(this).parent('li').css({ 'background-color' : '',
'color' : '#0085ac'
});
});
}); //end ul parrent hover
的HTML是
<ul class="navi">
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Portfolio</a>
<ul>
<li><a href="#">logos</a></li>
<li><a href="#">Business Cards</a></li>
<li><a href="#">Websites</a></li>
</ul>
</li>
<li><a href="#">Services</a></li>
<li><a href="#" style="background-image:none;">Contact</a></li>
</ul>
如您所见,我的ul内装有ul,基本上,我希望父级li在浏览下拉菜单时保持其悬浮状态。
奖励积分,如果您可以告诉我如何在悬停状态变回正常状态之前对其进行250ms的延迟
编辑:只是为了澄清,上面的jquery无法使我的父母li保持其悬停状态
$(document).ready(function(){
$( ".navi li" ).has( "ul" ).mousemove(function(){
$(this).css('background','#222');
});
$( ".navi li" ).has( "ul" ).mouseleave(function(){
$(this).css('background','#fff');
});
});
并避免与:hover在CSS中发生任何冲突,只需添加!important
.navi li:hover{
background : #222 !important;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.