JQuery: Mouseout Event Compling даже после того, как я использовал событие Click, чтобы скрыть Div

StackOverflow https://stackoverflow.com/questions/4733133

Вопрос

jQuery("#na").mouseover(function()
{
    jQuery("#na").animate({width:"325px", height:"203px", left:"-40px", top:"-25px"}, 200)
});

jQuery("#na").mouseout(function()
{
    jQuery("#na").stop()
    jQuery("#na").animate({width:"244px",height:"152px", left:0, top:0}, 200)
});

jQuery("#na").click(function()
{
    jQuery("#na").hide()
    jQuery("#back").show()
});

Так что это мой код, проблема в том, что событие Click запускается, все в порядке, NA искажается, но в тот момент, когда вы снова перемещаете свою мышь, она снова применяет. Я решил, что проблема в том, что событие Mouseout запускается, но для жизни меня не может понять, как его исправить. Любые идеи?

Это было полезно?

Решение

Внутри метода Mouseout проверьте, виден ли «Na» или скрыт. Если это скрыто, не делайте ничего, иначе вы можете сделать одования.

РЕДАКТИРОВАТЬ:

Попробуйте свой метод Mouseout

jQuery("#na").mouseout(function(){
    if(jQuery("#na").is(":visible")){
       jQuery("#na").stop()
       jQuery("#na").animate({width:"244px",height:"152px", left:0, top:0}, 200)
    }
});

Другие советы

jQuery("#na").click(function(e)
{   
    e.stopPropagation();
    jQuery("#na").hide()
    jQuery("#back").show()
});

Я не уверен, что это сработает ... теоретически это должно остановить пропадение мышца, но я не уверен, что оно только остановит событие щелчка!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top