2012-05-09 15 views
2

これはスライドダウンに必要なときにはうまくいきますが、私のCSSのために、上になると二重の境界線ができます。だから、私はメインのCSSの上の境界線を取り出してスライドの後に追加しようとしましたが、もし誰かがまだそこにトグルしていたら。どのようにして最初のポジション(上にあるとき)にボーダートップがなく、2番目のポジション(下にあるとき)にボーダートップがあるように、それを作りますか?ここでは、それぞれの国境で2つのCSSクラスを作成することにより、jquery toggleClassを使用することができます私のコードSlide 2つの異なるCSS状態を切り替えます

$('.product').click(function() { 
    $('.info').slideToggle('slow', function() { 
    $('.product').css("border-top","1px solid #000"); 
    }); 
}); 
+2

は、私はjQueryを使ってプレイしていません長い間、しかし私は'slideToggle();'はアニメーションの完全なコールバックしか持たないと思っています。したがって、おそらく、あなたの場合には 'slideUp();'と 'slideDown();'を使う必要があります。 – arma

答えて

3

Demo jsBin

$('.product').toggle(function() { 
    $('.info').stop(1).slideDown('slow'); 
    $(this).css("border-top","1px solid #000"); 
}, function(){ 
    $('.info').stop(1).slideUp('slow'); 
    $(this).css("border-top","1px solid transparent"); 
}); 

を確認することができます私はいくつかのアニメーションキューをクリアするために.stop(1)を使用しました。

+0

なぜslideToggleが2回あるのですか?その場合、私はアップ/ダウンするべきだと思います – Malyo

+0

@Malyoどうしてですか?あなたはデモが好きですか? slideToggleとslideUp/downを使用することができます。 –

+0

私は何を意味するのか分かっていれば、アクションを2倍に並べ替える必要はないので、無意味なので、1回のアクションで2つのトリガーで十分です。私は編集版が好きです! – Malyo

0

です。そして、それらをトグルし、

$('.product').click(function() { 
    $('.info').slideToggle('slow', function() { 
    $('.product').toggleClass('addBorder'); 
    }); 
});​ 

を必要とするときは、live example on jsfiddle

0

まあ、それはjQueryを使って遊ぶのは楽しいです:)

ここで私の小さな実験です:

$('.product').click(function() { 
    if($('.toggled').length > 0){ 
     $('.info').slideToggle('slow', function() { 
     $('.product').css("border-top","none").removeClass('toggled'); 
     }); 
    }else{ 
     $('.info').slideToggle('slow', function() { 
     $('.product').css("border-top","1px solid #000").addClass('toggled'); 
     }); 
    } 
});​ 

http://jsfiddle.net/kaunt/

0
$('.product').click(function() { 
    $('.info').slideToggle('slow', function() { 
     $('.product').css("border-top","1px solid #000"); 
     if(!$('.info').is(':visible')) $('.product').css("border-top","1px solid transparent"); 
    }); 
}); 

DEMO

関連する問題