2016-10-04 8 views
0

クラスが変更されたときにアニメーション効果を追加する方法がわかりません。クラスを変更するときにフェード効果を追加する方法は?

$("#a-button").click(function() { 
    $("#a-div").toggleClass("hidden show"); 
}); 

classes.Iを変更するときにこれは動作しますが、それは何の効果もありませんが、多分何かでとフェードアウトのように、それをスムーズにしたい:

は、ここに私のコードです。どうやってやるの?

+0

をあなたが「でjQueryのフェードインをしてフェードアウト」グーグルんでした?それらには正確に方法があるからです。また、これは要素にCSSのトランジションを追加することによって行うことになります。 – rlemon

+0

私は知っていますが、私はそれが変化と相互作用することはできませんでした。 –

+0

が壊れているように思えました。少なくとも、試みたコードを投稿するべきです。 – rlemon

答えて

0

あなたはdiv要素は、特定のクラスがあるかどうかを確認するためにhasClass()条件でfadeOut()/fadeIn()を使用することができます。

$('.show_hide').click(function() 
 
{ 
 
    if($('#target').hasClass('show')) 
 
    $('#target').fadeOut('normal'); 
 
    else 
 
    $('#target').fadeIn('normal'); 
 
    
 
    $('#target').toggleClass("hidden show"); 
 
});
#target { 
 
    background: green; 
 
    margin-bottom:15px; 
 
    height:150px; 
 
    padding:5px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="show_hide">Show/Hide</button> 
 
<div id="target" class='show'></div>

+0

[THIS](https://jsfiddle.net/k479fbyj/)のjsfiddleを参照してください。 –

+0

私は@RazvanZamfirを見ました。 'addClass/removeClass'の代わりに' toggleClass() 'を使い、':visible'の代わりにクラスIMOをチェックする方が良いでしょう。私は助けてくれるとうれしいです。ハッピーコーディング。 –

-1

これを試してみてください。 jQueryによるfadeToggleです。

$("#a-button").click( 
    function() { 
    $("#a-div").fadeToggle(); 
    }); 
関連する問題