jQuery UIのDroppableのactiveClass、hoverClass、addClass

jQuery UI の Droppable プラグインの activeClass と hoverClass と addClass オプションを使う。ドラッグして移動できるボックスを、動かすと、ドロップできるボックスのスタイルが変化する。ドロップできるボックス上へ移動すると、ドロップできるボックスのスタイルがさらに変化する。ドロップできるボックスへドロップすると、ドロップできるボックス内の文字とスタイルが変化する。

実装例(サンプル)

ドラッグ移動ボックス

このボックスへドロップすると…

実装例について

jQuery UI の Droppable プラグインだけでなく、Draggable プラグインも使用している。

実装例の動作について

  • 「ドラッグ移動ボックス」と書いてあるボックスを、動かすと、「このボックスへドロップすると…」と書いてあるボックスのスタイルが変化する。
  • 「このボックスへドロップすると…」と書いてあるボックスの上へ移動すると、「このボックスへドロップすると…」と書いてあるボックスのスタイルが、さらに、変化する。
  • 「このボックスへドロップすると…」と書いてあるボックスへドロップすると、「このボックスへドロップすると…」という文が、「ドロップしましたね♪」に変わり、ボックスのスタイルも変わる。

実装例のソースコード

読み込み

読み込み方は、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.ui.core.js"></script>
<script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="ui/jquery.ui.draggable.js"></script>
<script type="text/javascript" src="ui/jquery.ui.droppable.js"></script>

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-ui-draggable' ) . draggable();
    jQuery( '#jquery-ui-droppable' ) . droppable( {
        activeClass: 'ui-state-hover',
        hoverClass: 'ui-state-active',
        drop: function( event, ui ) {
            jQuery( this )
                .addClass( 'ui-state-highlight' )
                .find( 'p' )
                .html( 'ドロップしましたね♪' );
        }
    } );
} );
// -->
</script>

CSS

<style>
<!--
#jquery-ui-draggable {
    width: 100px;
    height: 100px;
    padding: 0.5em;
    float: left;
    margin: 10px 10px 10px 0;
    border-radius: 10px;
}
#jquery-ui-droppable {
    width: 150px;
    height: 150px;
    padding: 0.5em;
    float: left;
    margin: 10px;
    border-radius: 10px;
}
-->
</style>

HTML

<div id="jquery-ui-draggable" class="ui-widget-content">
    <p>ドラッグ移動ボックス</p>
</div>
<div id="jquery-ui-droppable" class="ui-state-default">
    <p>このボックスへドロップすると…</p>
</div>

スポンサード リンク

カテゴリー: Droppable, GUI, JavaScript, jQuery, jQuery UI パーマリンク