2013-06-29 2 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

Вы должны играть с переменной обновляется в соответствии с mouseenter и mouseleave информации о val3 и val4

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(); 
    } 
});