.toggleClass()

マッチした要素のセットに、classを追加または削除して切り替えをする際に、全てのスタイルの変化をアニメーションさせることが出来るようになります。

.toggleClass( className [, switch ] [, duration ] [, easing ] [, complete ] )

戻り値:jQuery

引数説明
className

型:String

マッチした要素セットに追加したいclass名を、1つまたは複数の場合はスペース区切りで指定します。

switch

型:Boolean

classを追加または削除するのかを決定する真偽値を指定します。

duration

初期値:400
型:Number or String

アニメーション実行時間をミリ秒単位で指定します。

easing

初期値:"swing"
型:String

移り変わりを表現するイージングの関数名を指定します。

complete

型:Function()

アニメーション完了後に実行するコールバック関数を指定します。

jQuery UIのclassアニメーションは、ネイティブのCSS3のtransitionsに似た、 ある状態から別の状態への滑らかな移行を提供します。 .toggleClass()を含む全てのclassアニメーションのメソッドは、durationとイージングのカスタマイズと アニメーション完了後のコールバック関数をサポートします。

全てのstyleがアニメーションするわけではありません。 例えば、背景画像はアニメーションのしようがありません。 このように幾つかのstyleについては、アニメーションの最後に変更が行われます。

このメソッドはjQueryの.toggleClass()メソッドを拡張しています。 そのため、jQuery UIがロードされる前に.addClass()メソッドが呼び出されてもメソッドが存在しないといった エラーは起こらないはずですが、期待した動作も発生しません。

サンプル

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>toggleClass demo</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
    <style>
    div {
        width: 100px;
        height: 100px;
        background-color: #ccc;
    }
    .big-blue {
        width: 200px;
        height: 200px;
        background-color: #00f;
    }
    </style>
    <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
</head>
<body>

<div></div>

<script>
$( "div" ).click(function() {
    $( this ).toggleClass( "big-blue", 1000, "easeOutSine" );
});
</script>

</body>
</html>

 Back to top

© 2010 - 2017 STUDIO KINGDOM