2011-01-19 9 views
3
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() 
}); 

私のコードは、クリックイベントがトリガされたときに問題が発生します。もう一度やり直す。問題はmouseoutイベントがトリガーされていることだと思っていましたが、私の人生はそれを修正する方法を理解できません。何か案は?jquery:clickイベントを使用してdivを非表示にした後でも、mouseoutイベントが発生します

+0

私はこれを設定しましたが、エラーを再現することはできません。それをチェックして、すべてが大丈夫かどうか教えてください。 http://jsfiddle.net/hJgmV/ –

答えて

0

mouseoutメソッドの内部で、「na」が表示されているかどうかを確認します。それが隠されているなら、何もしないでください。さもなければあなたはアニメーションを行うことができます。

EDIT:

すると、このようなあなたのマウスアウトの方法を試してみてください。これが機能するかどう

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

visibleの引数は何ですか? – doahou

+0

私の答えを編集しました。このようなことを試してみてください。 – KishoreK

+0

これは完璧に働いてくれてありがとう! – doahou

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

私は理論的には、これは覚書ENTのプロパゲーションを停止する必要がありますが、私は..わかりませんプロポジットされているクリックイベントだけを停止するかどうかは分かりません。

関連する問題