jQuery UI で、クリックした要素を特定の要素へ転送するアニメーション

jQuery UI の effect プラグインを使い、クリックした要素を、特定の要素へ転送するアニメーション。effect() の1つ目の引数に、「transfer」を指定する。2つ目の引数で、転送先を指定する。3つ目の引数で、アニメーション動作速度を、ミリ秒単位で、調整できる。

実装例(サンプル)

1

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>
個別に読み込む場合
<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>

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>

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>

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>

スポンサード リンク

カテゴリー: Effects, JavaScript, jQuery, jQuery UI, アニメーション パーマリンク