jQuery UI の effect プラグインを使い、クリックした要素を、特定の要素へ転送するアニメーション。effect() の1つ目の引数に、「transfer」を指定する。2つ目の引数で、転送先を指定する。3つ目の引数で、アニメーション動作速度を、ミリ秒単位で、調整できる。
実装例(サンプル)
転送先
実装例(サンプル)の動作について
実装例(サンプル)の赤いボーダーのボックスをクリックすると、赤色のボーダーのボックスから、緑色のドットのボーダーのボックスが現れ、青色のボーダーのボックスに向かって行き、青色のボーダーのボックスに吸収される。この一連のアニメーションが、転送動作のように見える。
実装例のソースコード
読み込み
読み込み方は、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.effects.core.js"></script>
<script type="text/javascript" src="ui/jquery.effects.transfer.js"></script>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/jquery.effects.core.js"></script>
<script type="text/javascript" src="ui/jquery.effects.transfer.js"></script>
JavaScript
<script>
<!--
jQuery( function() {
jQuery( '#jquery-ui-effect-1' ) . click( function() {
jQuery( '#jquery-ui-effect-1' ) . effect( 'transfer', { to: '#jquery-ui-transfer', className: 'ui-effects-transfer' }, 700 );
} );
jQuery( '#jquery-ui-effect-2' ) . click( function() {
jQuery( '#jquery-ui-effect-2' ) . effect( 'transfer', { to: '#jquery-ui-transfer', className: 'ui-effects-transfer' }, 700 );
} );
jQuery( '#jquery-ui-effect-3' ) . click( function() {
jQuery( '#jquery-ui-effect-3' ) . effect( 'transfer', { to: '#jquery-ui-transfer', className: 'ui-effects-transfer' }, 700 );
} );
} );
// -->
</script>
<!--
jQuery( function() {
jQuery( '#jquery-ui-effect-1' ) . click( function() {
jQuery( '#jquery-ui-effect-1' ) . effect( 'transfer', { to: '#jquery-ui-transfer', className: 'ui-effects-transfer' }, 700 );
} );
jQuery( '#jquery-ui-effect-2' ) . click( function() {
jQuery( '#jquery-ui-effect-2' ) . effect( 'transfer', { to: '#jquery-ui-transfer', className: 'ui-effects-transfer' }, 700 );
} );
jQuery( '#jquery-ui-effect-3' ) . click( function() {
jQuery( '#jquery-ui-effect-3' ) . effect( 'transfer', { to: '#jquery-ui-transfer', className: 'ui-effects-transfer' }, 700 );
} );
} );
// -->
</script>
CSS
<style>
<!--
#jquery-ui-effect-1, #jquery-ui-effect-2, #jquery-ui-effect-3 {
width: 100px;
margin: 10px;
padding: 50px 15px;
font-size: 15px;
background: khaki;
border: 1px solid red;
float: left;
text-align: center;
}
#jquery-ui-transfer {
width: 400px;
margin: 15px;
padding: 15px;
font-size: 15px;
background: ivory;
border: 1px solid blue;
text-align: center;
}
.ui-effects-transfer {
border: 2px dotted green;
}
-->
</style>
<!--
#jquery-ui-effect-1, #jquery-ui-effect-2, #jquery-ui-effect-3 {
width: 100px;
margin: 10px;
padding: 50px 15px;
font-size: 15px;
background: khaki;
border: 1px solid red;
float: left;
text-align: center;
}
#jquery-ui-transfer {
width: 400px;
margin: 15px;
padding: 15px;
font-size: 15px;
background: ivory;
border: 1px solid blue;
text-align: center;
}
.ui-effects-transfer {
border: 2px dotted green;
}
-->
</style>
HTML
<div id="jquery-ui-effect-1" class="ui-widget-content ui-corner-all">
<p>1</p>
</div>
<div id="jquery-ui-effect-2" class="ui-widget-content ui-corner-all">
<p>2</p>
</div>
<div id="jquery-ui-effect-3" class="ui-widget-content ui-corner-all">
<p>3</p>
</div>
<div style="clear: both;"></div>
<div id="jquery-ui-transfer" class="ui-corner-all"><p>転送先</p></div>
<p>1</p>
</div>
<div id="jquery-ui-effect-2" class="ui-widget-content ui-corner-all">
<p>2</p>
</div>
<div id="jquery-ui-effect-3" class="ui-widget-content ui-corner-all">
<p>3</p>
</div>
<div style="clear: both;"></div>
<div id="jquery-ui-transfer" class="ui-corner-all"><p>転送先</p></div>