2011-07-07 8 views
0

ここではdivを表示したり非表示にしたりするためにいくつかの助けがありました。結果として、次のコードが作成されました。唯一の問題は、クラス.closepanelのリンクをクリックするとスライドアップアニメーションが動作しません。それが閉じたときにアニメーションが適用されません...決算アニメーションがどこか他のクリックに対して適用されないように奇妙なようだ...jQueryアニメーションはリンクを申請していませんか?

動作するものとしてslideupする機能を共有し、特にとして...

$(document).ready(function(){ 
$('#panel').click(function(e) { 
    e.stopPropagation(); 
    });  
    $(".panel-tab").click(function(e) { 
    $("#panel").slideDown("slow"); 
    e.stopPropagation(); 
    }); 
    $(document,'.closepanel').click(function() { 
     $("#panel").slideUp("slow"); 
    }); 
}) 

答えて

1

今私は間違ったことを覚えているかもしれません。しかし、私はあなたがJQueryへの引数で検索を制限した場合、その引数はの第二の引数でなければならないと思います。しかし、文書を使用しているので、実際にはそれを非常に制限しているわけではありません。

ので、これらのいずれかは、おそらく

$('.closepanel').click(function() { 
     $("#panel").slideUp("slow"); 
    }); 

を動作するはずですか、あなたは本当に文書

$('.closepanel', document).click(function() { 
     $("#panel").slideUp("slow"); 
    }); 
+0

投稿ありがとうございます、これはうまくいきません。私はaffraidです。それと同じアニメーション。 – CodeyMonkey

+0

** ** closepanel **をクリックしたときに**#closepanel **がスライドしませんか? **#closepanel **はどこにありますか?関数またはイベントリスナーを含む別の要素内にある場合、クリックが実際に別の関数またはイベントを起動している可能性があります。 – inquam

+0

私は、#cloneの内側と外側の両方にある.closepanel(リンクを閉じる#panel)を試しましたが、利用するには...元のコードが立っているので、#anelの外側をクリックすると閉じることができますが、 #panel内の.closepanelリンクを使用すると、そのようにも閉じることができます。 - しかし、そうすることで、.closepanelをクリックすると、スライドアップアニメーションは機能せず、単に閉じるだけです。 – CodeyMonkey

1

を参照したい場合は、セレクタでのあなたの引数リストは、このために周りに間違った方法でありますライン:

$(document,'.closepanel') 

コンテキストa rgumentは、第二次のようになります。documentの文脈でクラスclosepanelを持つ要素を選択します

$('.closepanel', document) 

参照:contextパラメータの詳細については、http://api.jquery.com/jQuery/を参照してください。


更新:次に、あなたのイベントハンドラをバインドし

$(document).Remove('.closepanel') 

または

$('*:not(.closepanel)') 

.closepanel使用以外のすべてを選択します。

参照:詳細については、http://api.jquery.com/remove/http://api.jquery.com/not-selector/


アップデート2:

あなたは、パネルを上にスライドハンドラをバインドするコレクションを構築することができます欠けている場合:

ます。またslideupの副作用を防ぐために一度実行する one() http://api.jquery.com/one/がイベントにハンドラをバインドするために使用することができます

()は、パネルが表示されていないときに呼び出されます。

+0

私は「どこでもクリックする」機能が働かず、.closepanelがまだ閉じてしまうような気がします – CodeyMonkey

+0

こんにちは、このような迅速な応答のおかげで、シナリオです:私はユーザーがどこでもクリックすると閉じられるスライダダウンメニューを持っていますボックスの外側にありますが、私はドロップパネル内の "closepanel"ボタンも望んでいますので、閉じても構いませんが、スクロールアップアニメーションはスクロールしません。離れて.....任意のアイデアをしてください? – CodeyMonkey

+0

update 2: - ありがとう、私のコードで示したように、私は複数のセレクタを試しました...どこかで奇妙な矛盾がなければなりません。私はそれが可能ではないと思うので)したい。 – CodeyMonkey

関連する問題