jQuery:クリックイベントを使用してdivを非表示にした後でも、マウスアウトイベントの発砲
-
12-10-2019 - |
質問
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の供給を停止するはずですが、クリックイベントが提案されているのを停止するかどうかはわかりません!
所属していません StackOverflow