jQuery UI の Slider による、数値範囲をGUIで設定する縦型スライダー

jQuery UI の Slider プラグインを使った、数値の範囲をGUIで指定する縦型(垂直型)スライダー。例えば、○○円以上○○円未満の商品を検索したいときや、○○点以上○○点未満の生徒を検出したいときなどの、範囲指定GUIを簡単に作れる。

実装例(サンプル)

範囲

実装例(サンプル)について

初期値、最小値、最大値に下の値を設定してある。

  • 初期値: 30~70
  • 最小値: 0
  • 最大値: 100

実装例(サンプル)の動作について

  • スライダーのトラック上の四角のハンドルをドラックして、トラック上を移動させることができる。
  • トラック上をクリックすると、ハンドルを、その場所へ、アニメーション動作で、移動させることができる。
  • ハンドルの下側をグレーに着色する。
  • スライダーに合わせて、スライダーの上の数値と、下の数値が、「0」以上、「100」以下の範囲で、変化する。

実装例(サンプル)のソースコード

読み込み

パスは、それぞれ、アップロードした場所を指定する。

まとめて読み込む場合
<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.slider.js"></script>

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-ui-slider' ) . slider( {
        orientation: 'vertical',
        animate: 'slow',
        range: true,
        values: [ 30, 70 ],
        min: 0,
        max: 100,
        slide: function( event, ui ) {
            jQuery( '#jquery-ui-slider-values-0' ) . val( ui.values[ 0 ] );
            jQuery( '#jquery-ui-slider-values-1' ) . val( ui.values[ 1 ] );
        }
    } );
    jQuery( '#jquery-ui-slider-values-0' ) . val( jQuery( '#jquery-ui-slider' ) . slider( 'values' , 0 ) );
    jQuery( '#jquery-ui-slider-values-1' ) . val( jQuery( '#jquery-ui-slider' ) . slider( 'values' , 1 ) );
} );
// -->
</script>
解説
  • orientation: 水平(横)型か、垂直(縦)型かを設定するオプション。「vertical」を指定すると、垂直(縦)型のスライダーになる。
  • animate: トラック上のクリックした場所へ、ハンドルを、アニメーション動作で移動させるオプション。「slow」を設定すると、ゆっくりとした速度のアニメーション動作で移動する。
  • range: ハンドルの位置に応じて、トラックの色を変更するオプション。「min」を設定すると、ハンドルの位置の数値より小さい方のトラックを着色する。
  • values: jQuery UI の Slider プラグインの初期値の範囲を設定するオプション。
  • min: jQuery UI の Slider プラグインの最小値を設定するオプション。
  • max: jQuery UI の Slider プラグインの最大値を設定するオプション。

CSS

<style>
<!--
#jquery-ui-slider-wrap {
    padding: 5px;
    text-align: center;
    width: 70px;
    border: 1px solid gray;
    border-radius: 10px;
    background: #f0f0f0;
}
#jquery-ui-slider-values-0, #jquery-ui-slider-values-1 {
    border: 0;
    color: red !important;
    font-weight: bold;
    background-color: transparent;
    margin: 5px;
    width: 40px;
    text-align: center;
}
#jquery-ui-slider {
    margin: 10px auto;
    height: 150px;
}
-->
</style>

HTML

<div id="jquery-ui-slider-wrap">
    <p>範囲</p>
    <input type="text" id="jquery-ui-slider-values-1" />
    <div id="jquery-ui-slider"></div>
    <input type="text" id="jquery-ui-slider-values-0" />
</div>

スポンサード リンク

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