jQuery UI の switchClass プラグインを使い、色やサイズをアニメーション動作で切り替える方法。
実装例(サンプル)
実装例(サンプル)の動作について
「切替」ボタンを押すと、「アニメーション」というタイトルのボックスの色とサイズをアニメーション動作で切り替える。
実装例のソースコード
読み込み
読み込み方は、2種類ある。パスは、それぞれ、アップロードした場所を指定する。
まとめて読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery-ui-1.8.12.custom.min.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery-ui-1.8.12.custom.min.js"></script>
個別に読み込む場合
<link rel="stylesheet" href="themes/base/jquery.ui.all.css">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="ui/jquery.ui.button.js"></script>
<script type="text/javascript" src="ui/jquery.effects.core.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="ui/jquery.ui.button.js"></script>
<script type="text/javascript" src="ui/jquery.effects.core.js"></script>
JavaScript
<script>
<!--
jQuery( function() {
jQuery( '#jquery-ui-button' ) . button();
jQuery( '#jquery-ui-button' ) . click( function() {
jQuery( '.toggle-class-0' ) . switchClass( 'toggle-class-0', 'toggle-class-1', 1000 );
jQuery( '.toggle-class-1' ) . switchClass( 'toggle-class-1', 'toggle-class-0', 1000 );
return false;
} );
} );
// -->
</script>
<!--
jQuery( function() {
jQuery( '#jquery-ui-button' ) . button();
jQuery( '#jquery-ui-button' ) . click( function() {
jQuery( '.toggle-class-0' ) . switchClass( 'toggle-class-0', 'toggle-class-1', 1000 );
jQuery( '.toggle-class-1' ) . switchClass( 'toggle-class-1', 'toggle-class-0', 1000 );
return false;
} );
} );
// -->
</script>
1つめの switchClass は、「toggle-class-0」のクラスを削除し、「toggle-class-1」のクラスを追加している。2つめの switchClass は、「toggle-class-1」のクラスを削除し、「toggle-class-0」のクラスを追加している。
「toggle-class-0」のクラスがあるときは、1つめの switchClass を実行し、「toggle-class-1」のクラスがあるときは、2つめの switchClass を実行することで、2つのクラスを切り替えている。
CSS
<style>
<!--
#jquery-ui-button {
font-size: 15px;
}
#jquery-ui-effect {
border-width: 1px;
}
#jquery-ui-effect h3 {
margin: 0;
margin-bottom: 10px;
padding: 0.4em;
text-align: center;
}
.toggle-class-0 {
width: 240px;
height: 135px;
padding: 0.4em;
background: #ffffff;
}
.toggle-class-1 {
width: 500px;
height: 200px;
padding: 0.4em;
font-size: 1.3em;
color: red;
background: #bdffff;
border-color: blue;
}
-->
</style>
<!--
#jquery-ui-button {
font-size: 15px;
}
#jquery-ui-effect {
border-width: 1px;
}
#jquery-ui-effect h3 {
margin: 0;
margin-bottom: 10px;
padding: 0.4em;
text-align: center;
}
.toggle-class-0 {
width: 240px;
height: 135px;
padding: 0.4em;
background: #ffffff;
}
.toggle-class-1 {
width: 500px;
height: 200px;
padding: 0.4em;
font-size: 1.3em;
color: red;
background: #bdffff;
border-color: blue;
}
-->
</style>
HTML
<button id="jquery-ui-button">切替</button>
<div id="jquery-ui-effect" class="toggle-class-0 ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all">アニメーション</h3>
<p>このボックスの色とサイズをアニメーション動作で切り替える。</p>
</div>
<div id="jquery-ui-effect" class="toggle-class-0 ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all">アニメーション</h3>
<p>このボックスの色とサイズをアニメーション動作で切り替える。</p>
</div>