サイズ変更可能ボックスの最小サイズと最大サイズを指定

jQuery UI の Resizable プラグインを使った、ドラッグ&ドロップでサイズを変更できるボックスの、最小サイズと最大サイズを指定する方法。
最小サイズを指定するには、minHeight オプションと、minWidth オプションを使う。最大サイズを指定するには、maxHeight オプションと、maxWidth オプションを使う。

minHeight

最小の高さを指定するオプション。初期設定値は「10」。

minWidth

最小の幅を指定するオプション。初期設定値は「10」。

maxHeight

最大の高さを指定するオプション。初期設定値はない。

maxWidth

最大の幅を指定するオプション。初期設定値はない。

実装例(サンプル)

Resizable

このボックスは、サイズを変更できる。

実装例の動作について

  • ボックスの右端にカーソルを合わせると、カーソルが左右リサイズ用カーソル形状に変わる。ドラッグして左右に動かすと、ボックスの幅を変更できる。ただし、300pxより小さくはならない。600pxより大きくもならない。
  • ボックスの下端にカーソルを合わせると、カーソルが上下リサイズ用カーソル形状に変わる。ドラッグして上下に動かすと、ボックスの高さを変更できる。ただし、70pxより小さくはならない。270pxより大きくもならない。
  • ボックスの右下端にカーソルを合わせると、カーソルが左上右下リサイズ用カーソル形状に変わる。ドラッグして左上か右下へ動かすと、ボックスの幅と高さを同時に変更できる。ただし、高さは、70pxより小さくはならないし、270pxより大きくならない。幅は、300pxより小さくはならないし、600pxより大きくならない。

実装例のソースコード

読み込み

読み込み方は、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.resizable.js"></script>

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-ui-resizable' ) . resizable( {
        minHeight: 70,
        minWidth: 270,
        maxHeight: 300,
        maxWidth: 600,
    } );
} );
// -->
</script>

CSS

<style>
<!--
#jquery-ui-resizable {
    width: 300px;
    height: 100px;
    padding: 0.5em;
}
#jquery-ui-resizable h3 {
    text-align: center;
    margin: 0px 0px 0.5em 0px;
}
-->
</style>

HTML

<div id="jquery-ui-resizable" class="ui-widget-content">
    <h3 class="ui-widget-header">Resizable</h3>
    <p>このボックスは、サイズを変更できる。</p>
</div>

スポンサード リンク

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