2012-01-23 27 views
0

http://jsfiddle.net/cwUcM/は一度だけ

私は同様のタイトルを持っていると思われる他のスレッドのすべてを行ってきた.clickことができますが、私は=(

何かを発見していません、また、唯一の最初のクリック後に解雇され。

をそれはかなり単純な問題でなければなりません。

なぜイベントが唯一の最初のクリック後に解雇されている?

ありがとう!

答えて

2

最初の読み込み時にifステートメントだけを呼び出しています。

その後、クリックイベントは既に登録されています。 .clickハンドラをifステートメントの外に移動します。

参照:http://jsfiddle.net/SQxYP/

+0

おかげでたくさん! – user1156929

3

if条件がclickハンドラ内でなければなりません。これを試して。

$(document).ready(function() { 
    $('#menu').click(function() { 
     if($("#openCloseIdentifier").is(":visible")){ 
      $("#menu").animate({ 
       marginTop: "2%" 
      }, 500); 
      $("#openCloseIdentifier").hide(); 
     } 
     else{ 
      $("#menu").animate({ 
       marginLeft: "5%" 
      }, 500); 
      $("#openCloseIdentifier").show(); 
     } 
    }); 
}); 

Demo

+0

あなたの応答に感謝します、残念ながら9秒遅すぎました=(私はまだ私が=できるときはいつでもupvote) – user1156929

1

追加のクリックの仕事、あなただけの結果が表示されません。

$("#menu").animate({ 
    marginTop: "2%" 
}, 500); 

に変更します。私はできるだけ早く私は(カップル分以上^^)ことができますように、この答えを受け入れることになる

$("#menu").animate({ 
     marginTop: "+=2%" <--- you need at ADD 2%, not set it to 2%! 
}, 500); 
+0

if文の後に.clickイベントを持つ問題だったので、私が持っていた質問に答えませんでした。この返答は私が最終的にやるつもりだった別の質問に答えましたが、ありがとう! – user1156929