2012-02-29 9 views

答えて

-1

.churchListは(ダウン滑らせる)表示されているかどうかをチェックすることができます:

あなたが使用する必要があります
$(".areaCodeList").on('click', function() { 
    if($(this).next('.churchList').is(':visible') === true){ 
     $(this).next('.churchList').slideUp(); 
    }else{ 
     $(this).next('.churchList').slideDown(); 
    } 
}); 
+1

ありがとうございました!あなたのコードスニペット '$( '。churchList')。slideDown();'を '$(this).next( '。churchList')。slideDown();'に置き換えれば完全に動作します。 @epascarello、私は過去にslideToggle()を試しましたが、うまくいかなかったようです。だから、どうやってそれをコーディングするの? –

+0

@MichaelGrigsbyごめんなさい。コードを更新します – Sherzod

0

はあなたではなく、クラスのコード

$(".areaCodeList").on('click', function() { 
    if (!$(this).is('.clicked')){ 
    $(this).addClass('clicked'); 
    return false; 
    } 
    $(this).next('.churchList').slideDown(); 
    $(this).die(); 
    $('.churchList').slideUp(); 
}); 

あなたはまた、属性($(el).attr('clicked'))を使用して検討することを実行する前に、それは既にクリック示し、同様の方法で、後でそれを確認するために、いくつかのクラスを使用することができます。

更新: 質問のタイトルは本当に混乱であり、(質問に答える)私たちの唯一の多くは最初からそれを得ていないようです:

当初、私はこのようにそれを得た:

2回目にクリックすると要素が上に移動します。 私が提供したサンプルが正しい場合は、それが正しい場合です。

しかし、問題はより多くのこのようなものですように見えます:

スライドごとにでもクリックして、すべての奇数クリックでそれを上にスライド上の要素ダウン。

これは(epascarello's answerで説明したように)slideToggleが解決することを事実である場合

+0

匿名のダウン投票者が表示されます... –

+0

複雑なことに、jQueryはすでにこれを行っています。 – epascarello

+0

@epascarello、すでに何をしていますか? 2回目にクリックされたことを確認しますか?私は2番目のクリックのチェックを追加しましたが、コードの残りの部分はそのまま残っていますが、それは問題ではないという質問は何もないので、正しいと仮定しています。 –

0

slideToggle()

$(".areaCodeList").on('click', function() { 
    $(this).next('.churchList').slideToggle(); 
}); 

Example

+0

これは2番目のクリックでどのように機能していますか? –

+0

@Jucicy Scripter slideToggleは何ですか?上記のコードを使った例 – epascarello

+0

の例:http://jsfiddle.net/rH7St/ – epascarello

関連する問題