グリッド(格子)に沿って、ドラッグで移動できるボックス

jQuery UI の Draggable プラグインを使った、ドラッグして移動できるボックス。グリッド(格子)に沿って移動できるようにするには、grid オプションを使う。
grid オプションで指定した大きさのグリッド(格子)に、スナップ(吸着)させることができる。

実装例(サンプル)

ドラッグして
グリッドに沿って
移動できる
ボックス。

実装例の動作について

「ドラッグしてグリッドに沿って移動できるボックス。」と書いてあるボックスを、ドラッグして、移動させることができる。水平方向(左右)は、50pxごとにスナップする。垂直方向(上下)は、25pxごとにスナップする。

実装例のソースコード

読み込み

読み込み方は、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>

JavaScript

<script>
jQuery( function() {
    jQuery( '#jquery-ui-draggable' ) . draggable( {
        grid: [ 50, 25 ],
    } );
} );
</script>

50 が水平方向のスナップ距離。
25 が垂直方向のスナップ距離。

CSS

<style>
#jquery-ui-draggable {
    width: 100px;
    height: 100px;
    padding: 30px;
    margin: 0;
    border-radius: 10px;
}
</style>

HTML

<div id="jquery-ui-draggable" class="ui-widget-content">
    <p>ドラッグして<br />グリッドに沿って<br />移動できる<br />ボックス。</p>
</div>

スポンサード リンク

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