2013-06-29 39 views
1

你好这里的人是我的jQuery代码。jquery如果鼠标离开或鼠标输入条件

$(val1+","+val2).mouseleave(function(){ 

    $('.opacity').remove(); 
    $(val3).show(); 
    $(val4).hide(); 

}); 

我想以这样的方式,经过

$(val1+","+val2).mouseleave(function(){ 
    if mouse doe not enter val3 or val4 
then 
    $('.opacity').remove(); 
$(val3).show(); 
$(val4).hide(); 
else 
    nothing.... 

像...

$(val1 + "," + val2).mouseleave(function() { 

    if ($(val3 + "," + val4).mouseenter) { 
    } else { 
     $('.opacity').remove(); 
     $(val3).show(); 
     $(val4).hide(); 
    } 

}); 

显然以上不工作... IAM错附近某处编辑该代码如果条件如何解决这个问题?

+0

它也将帮助,如果你显示/解释如何val1-更新变量玩4相对于彼此定位。 从我看到的 - 我可以说你可以添加“mouseenter”处理程序到val3/4并添加“不透明度”。 – mishik

+0

我认为你不需要块内的if else语句。只需$()。mouseenter可能会做到这一点,因为我相信这是事件绑定正在完成的地方 –

回答

1

你应该根据mouseentermouseleave有关val3val4

var isHoverSpecialDiv = false; 

$(val3 + "," + val4).hover(
    function(){ 
     isHoverSpecialDiv = true; 
    }, 
    function(){ 
     isHoverSpecialDiv = false; 
    } 
}); 

并测试它

$(val1 + "," + val2).mouseleave(function() { 

    //Test condition 
    if (isHoverSpecialDiv == false) 
    { 
     $('.opacity').remove(); 
     $(val3).show(); 
     $(val4).hide(); 
    } 
}); 
相关问题