IE上的jquery悬停问题
我刚刚使用了jquery悬停:IE上的jquery悬停问题,jquery,hover,Jquery,Hover,我刚刚使用了jquery悬停: $.each(navItems, function(i){ $(navItems[i]).hover(function(){ $(this).find('ul:first').css({visibility: "visible",display: "none"}).show(); },function(){ $(this).find('ul:first').css({visibility: "hidden"});
$.each(navItems, function(i){
$(navItems[i]).hover(function(){
$(this).find('ul:first').css({visibility: "visible",display: "none"}).show();
},function(){
$(this).find('ul:first').css({visibility: "hidden"});
});
});
除了IE,我在所有浏览器上都能正常工作。我一直在寻找其他在所有主要浏览器(包括IE)上都能正常工作的代码,通常它们也使用与我相同的方式。
有人能帮我解释我错了什么吗?
这里的完整代码:为什么您的鼠标悬停在一个循环中?你试过
$('.NaviItem').hover(function(){
$(this).find('ul:first').css({visibility: "visible", display: "none"}).show();
},function(){
$(this).find('ul:first').css({visibility: "hidden"});
});
您所需要的就是:
$(".NaviItem").hover(function() {
$(this).find('ul:first').show();
}, function() {
$(this).find('ul:first').hide();
});
- 只需使用
选择目标元素。这将返回类为.NaviItem
NaviItem
- 您不需要使用
进行迭代。在这种情况下,each()
处理程序将应用于所有出现的悬停
.NaviItem
- 要显示/隐藏,无需设置css,只需使用
和show()
,或一些动画功能,如hide()
/fadeOut
fadeIn