オンライン実行 元の INPUT 要素は使用しないので、style='display:none' を指定しておきます。個別に jQuery の css メソッドで調整を行います。
.css({ width: "0px", "font-size": "0px", height: "30px" })
▼ 以下は実行サンプルですが、スタイルとして『base』を使用しているのでボタン部分がグレーになっています。
x
/
y
x y
x y
x y
x y
横向きになっているのは、jQuery からの CSS 設定で回転させています
// コントロールを横にしたい場合 // ※ コントロールのサイズや左右の余白を調整します $(".rotate_wrap").css({ display: "inline-block", transform: "rotate(90deg) scale(1.5)", "margin":"0 15px 0 18px", });
以下の部分は、ボタンとは関係無く、テキストフィールドに対して結果を表示する際に、parseInt($(this).val()) が失敗する場合は 0 をセットし、そこから値を減らしています。 $(this).val( (parseInt($(this).val())||0)-1 );▼が全体のソースコードですが、ボタンを回転させたり、サイズや配置を調整する為にはラッパーが必要なのが解ります。
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css"> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script> <script> $(function(){ // コントロールを横にしたい場合 // ※ コントロールのサイズや左右の余白を調整します $(".rotate_wrap").css({ display: "inline-block", transform: "rotate(90deg) scale(1.5)", "margin":"0 15px 0 18px", }); // 通常は縦です $(".normal_wrap").css({ display: "inline-block", transform: "scale(1.5)", "margin":"0 15px 0 7px", }); $( "#spinner_x" ).spinner({ spin: function( event, ui ) { var val = $(this).val()-ui.value; // ▲ をクリックするか押し続けると処理されます if ( val < 0 ) { $( ".x" ).each(function(){ // 数字以外が設定されているフィールドは 0 にリセットする $(this).val( (parseInt($(this).val())||0)+1 ); }); } // ▼ をクリックするか押し続けると処理されます else { $( ".x" ).each(function(){ // 数字以外が設定されているフィールドは 0 にリセットする $(this).val( (parseInt($(this).val())||0)-1 ); }); } } }) // 入力部分を使わないので、最小のサイズにして、高さをセット .css({ width: "0px", "font-size": "0px", height: "30px" }) // いったん表示して .show() // spinner のラッパーを調整します .parent().css({width:"16px",border:"1px solid #808080"}); $( "#spinner_y" ).spinner({ spin: function( event, ui ) { var val = $(this).val()-ui.value; // ▲ をクリックするか押し続けると処理されます if ( val < 0 ) { $( ".y" ).each(function(){ // 数字以外が設定されているフィールドは 0 にリセットする $(this).val( (parseInt($(this).val())||0)+1 ); }); } // ▼ をクリックするか押し続けると処理されます else { $( ".y" ).each(function(){ // 数字以外が設定されているフィールドは 0 にリセットする $(this).val( (parseInt($(this).val())||0)-1 ); }); } } }) // 入力部分を使わないので、最小のサイズにして、高さをセット .css({ width: "0px", "font-size": "0px", height: "30px" }) // いったん表示して .show() // spinner のラッパーを調整します .parent().css({width:"16px",border:"1px solid #808080"}); }); </script> <div id="spinner_box"> x <input id="xnum" type="text" size="3" class="x"> <span class="rotate_wrap"><input id="spinner_x" style='display:none;'></span> / y <input id="ynum" type="text" size="3" class="y"> <span class="normal_wrap"><input id="spinner_y" style='display:none'></span> <br><br><br><br> x <input type="text" size="3" class="x"> y <input type="text" size="3" class="y"> <br> x <input type="text" size="3" class="x"> y <input type="text" size="3" class="y"> </div>
|
【jQuery UIの最新記事】
- Google がホスティングしている jQuery UI の CSS のテーマのチェックをする jQuery UI ボタン
- jQuery UI のタブを使用時に、前回開いたタブを localStorage に保存して、次回の表示に使用する
- jQuery UI の Autocomplete Combobox をさらにカスタマイズして、『Form の送信で使用する入力可能なコンボボックス』にする
- jQuery UI の Accordion Widget(アコーディオン)で、タイトルとコンテンツの指定方法
- jQuery : table の行をクリックして、jQuery UI のダイアログを表示し、行データをダイアログ内で変更して table の列にデータを戻す
- jQuery UI の datepicker の基本オプションとダイアログ(datepicker)の利用
- jQuery UI(tabs) の内部コードを書き換えて、タブ上でのキーボード処理をキャンセルする
- jQuery UI の slider と Google のホスティング
- jQuery UI の タブの表示切替でのアニメーション方法