2012-01-24 10 views
1

これがなぜ起こっているのか分かりません。あなたが私のリンクをクリックすると、上の画像が下にスライドし、それらの画像の1つをクリックすると、スライドアップします。これは私がそれをしたいと正確に動作します。しかし、あなたが戻って、すでにスライドした後でリンクを再びクリックすると、最初のクリックでスライドがアクティブにならなくなります。 2回のクリックが必要です。私は1回だけクリックすることを望みます。Jquery Click Function

http://jsfiddle.net/nategines/FzqfZ/2/

なぜこれが起こっている誰でも知っていますか?どのように私はこれを修正し、スライド機能を同じに保ちますか?

+0

:あなたは、リンクをクリックしてください展開し、再度クリックすると崩壊し、うまくいきます。しかし、拡大した後、画像をクリックすると、うまく折り畳まれますが、リンクを2回クリックすると拡大します。 –

答えて

0

あなたのif/elseステートメントが言っているので、アイテムがアクティブな場合は非表示になり、アクティブでない場合はスキップして終了します。

if($menuelement.hasClass('active')) 

このコードは、同じメニュー項目を2回クリックすると正常に動作しますが、画像をクリックしても問題ありません。画像クリックでアクティブクラスを削除する必要があります。このコードを修正して修正してください。明確にする

http://jsfiddle.net/FzqfZ/4/

$(".hide").click(function(){ 
    $(".thumb").hide(500); 
    $(".active").removeClass("active"); 
}); 
+0

これはこれを行うよりはるかに良い方法です。助けてくれてありがとう!私は毎日何か新しいことを学びます! –

1

編集あなたが親指を隠したときに、アクティブクラスを削除するには、あなたのJSの終わりに非表示機能...

$(".hide").click(function(){ 
     $(".thumb").hide(500).removeClass('active'); 
    });