所以我正在尝试使用 hoverIntent 重构一些 jQuery mouseenters。当我为每个导航项单独调用 hoverIntent 时,一切都有效,但是当我尝试使用以下代码时,第一次 mouseover 没有任何反应,然后它就可以工作了:
$('.navItem1').on('hover', function(){
navHoverIntent(this);
});
$('.navItem2').on('hover', function(){
navHoverIntent(this);
});
$('.navItem3').on('hover', function(){
navHoverIntent(this);
});
$('.navItem4').on('hover', function(){
navHoverIntent(this);
});
function navHoverIntent(className) {
//set some vars for use in hoverIntent
var currentDiv = $(className);
var cubeImg = currentDiv.find('img');
var childDivs = currentDiv.find('div');
var navTitle = childDivs[0];
var subNav = childDivs[1];
//now calling hoverIntent
currentDiv.hoverIntent({
over: function(){
if(cubeImg.css("display")=="block"){
navTitle.css("color","#262261");
}
currentDiv.css("backgroundColor","#d7d7d7");
$(subNav).show();
},
out: function(){
if(cubeImg.css("display")=="block"){
navTitle.css("color","#8CC640");
currentDiv.css("backgroundColor","#262261");
}else{
currentDiv.css("backgroundColor","transparent");
$("#subnav1").hide();
$("#subnav2").hide();
$("#subnav3").hide();
$("#subnav4").hide();
}
},
});
}
任何帮助将非常感激!