jQuery:クリックイベントを使用して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()
});

それが私のコードです。問題は、クリックイベントがトリガーされている場合、すべてが正常であることです。問題は、マウスアウトイベントがトリガーされていることだと考えましたが、私の人生では、それを修正する方法を理解できません。何か案は?

役に立ちましたか?

解決

マウスアウトメソッド内で、「NA」が表示されるか非表示になっているかを確認します。それが隠されている場合、何もしないでください、それ以外はあなたがアニメートをすることができます。

編集:

このようなマウスアウト方法を試してください:

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

これが機能するかどうかはわかりません。理論的には、これはMous Entの供給を停止するはずですが、クリックイベントが提案されているのを停止するかどうかはわかりません!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top