123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>Bootstrap TouchSpin</title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="A mobile and touch friendly input spinner component for Bootstrap 3.">
- <meta name="author" content="István Ujj-Mészáros">
- <meta itemprop="name" content="Bootstrap Touchspin">
- <meta itemprop="description" content="A mobile and touch friendly input spinner component for Bootstrap 3.">
- <link rel="shortcut icon" href="favicon.ico">
- <link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
- <link href="//cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.css" rel="stylesheet" type="text/css" media="all">
- <link href="../src/bootstrap-touchspin.css" rel="stylesheet" type="text/css" media="all">
- <link href="demo.css" rel="stylesheet" type="text/css" media="all">
- <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
- <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.1.1/js/bootstrap.min.js"></script>
- <script src="//cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.js"></script>
- <script src="../src/bootstrap.touchspin.js"></script>
- </head>
- <body>
- <div class="container">
- <div class="hero-unit">
- <h1>Bootstrap TouchSpin</h1>
- <a id="link-ghp" class="btn btn-primary" href="https://github.com/istvan-ujjmeszaros/bootstrap-touchspin"
- target="_blank"><span class="glyphicon glyphicon-link"></span> Github project page</a>
- <a id="link-ghdl" href="https://github.com/istvan-ujjmeszaros/bootstrap-touchspin/archive/master.zip"
- class="btn btn-primary" title="download"><span class="glyphicon glyphicon-download"></span> Download</a>
- </div>
- <p>
- A mobile and touch friendly input spinner component for Bootstrap 3.<br>
- It supports the mousewheel and the up/down keys.
- </p>
- <h2>Examples</h2>
- <div class="row">
- <div class="col-md-5">
- <label for="demo0">Example using data attributes:</label> <input
- id="demo0"
- type="text"
- value="40"
- name="demo0"
- data-bts-min="0"
- data-bts-max="100"
- data-bts-init-val=""
- data-bts-step="1"
- data-bts-decimal="0"
- data-bts-step-interval="100"
- data-bts-force-step-divisibility="round"
- data-bts-step-interval-delay="500"
- data-bts-prefix=""
- data-bts-postfix=""
- data-bts-prefix-extra-class=""
- data-bts-postfix-extra-class=""
- data-bts-booster="true"
- data-bts-boostat="10"
- data-bts-max-boosted-step="false"
- data-bts-mousewheel="true"
- data-bts-button-down-class="btn btn-default"
- data-bts-button-up-class="btn btn-default"
- >
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <input id="demo0"
- type="text"
- value="55"
- name="demo0"
- data-bts-min="0"
- data-bts-max="100"
- data-bts-init-val=""
- data-bts-step="1"
- data-bts-decimal="0"
- data-bts-step-interval="100"
- data-bts-force-step-divisibility="round"
- data-bts-step-interval-delay="500"
- data-bts-prefix=""
- data-bts-postfix=""
- data-bts-prefix-extra-class=""
- data-bts-postfix-extra-class=""
- data-bts-booster="true"
- data-bts-boostat="10"
- data-bts-max-boosted-step="false"
- data-bts-mousewheel="true"
- data-bts-button-down-class="btn btn-default"
- data-bts-button-up-class="btn btn-default"
- />
- <script>
- $("input[name='demo0']").TouchSpin({
- });
- </script>
- </pre>
- <script>
- $("input[name='demo0']").TouchSpin({
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <label for="demo_vertical">Vertical button alignment:</label> <input id="demo3" type="text" value="" name="demo_vertical">
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <input id="demo_vertical" type="text" value="" name="demo_vertical">
- <script>
- $("input[name='demo_vertical']").TouchSpin({
- verticalbuttons: true
- });
- </script>
- </pre>
- <script>
- $("input[name='demo_vertical']").TouchSpin({
- verticalbuttons: true
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <label for="demo_vertical2">Vertical buttons with custom icons:</label> <input id="demo3" type="text" value="" name="demo_vertical2">
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <input id="demo_vertical2" type="text" value="" name="demo_vertical2">
- <script>
- $("input[name='demo_vertical2']").TouchSpin({
- verticalbuttons: true,
- verticalupclass: 'glyphicon glyphicon-plus',
- verticaldownclass: 'glyphicon glyphicon-minus'
- });
- </script>
- </pre>
- <script>
- $("input[name='demo_vertical2']").TouchSpin({
- verticalbuttons: true,
- verticalupclass: 'glyphicon glyphicon-plus',
- verticaldownclass: 'glyphicon glyphicon-minus'
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <label for="demo1">Example with postfix (large):</label> <input id="demo1" type="text" value="55" name="demo1">
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <input id="demo1" type="text" value="55" name="demo1">
- <script>
- $("input[name='demo1']").TouchSpin({
- min: 0,
- max: 100,
- step: 0.1,
- decimals: 2,
- boostat: 5,
- maxboostedstep: 10,
- postfix: '%'
- });
- </script>
- </pre>
- <script>
- $("input[name='demo1']").TouchSpin({
- min: 0,
- max: 100,
- step: 0.1,
- decimals: 2,
- boostat: 5,
- maxboostedstep: 10,
- postfix: '%'
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <form class="form-horizontal" role="form">
- <div class="form-group">
- <label for="demo2" class="col-md-5 control-label">With prefix</label> <input id="demo2" type="text"
- value="0" name="demo2"
- class="col-md-7 form-control">
- </div>
- </form>
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <form class="form-horizontal" role="form">
- <div class="form-group">
- <label for="demo2" class="col-md-5 control-label">Example:</label> <input id="demo2" type="text" value="0" name="demo2" class="col-md-7 form-control">
- </div>
- </form>
- <script>
- $("input[name='demo2']").TouchSpin({
- min: -1000000000,
- max: 1000000000,
- stepinterval: 50,
- maxboostedstep: 10000000,
- prefix: '$'
- });
- </script>
- </pre>
- <script>
- $("input[name='demo2']").TouchSpin({
- min: -1000000000,
- max: 1000000000,
- stepinterval: 50,
- maxboostedstep: 10000000,
- prefix: '$'
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <label for="demo3">Init with empty value:</label> <input id="demo3" type="text" value="" name="demo3">
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <input id="demo3" type="text" value="" name="demo3">
- <script>
- $("input[name='demo3']").TouchSpin();
- </script>
- </pre>
- <script>
- $("input[name='demo3']").TouchSpin();
- </script>
- </div>
- </div>
- <div class="row">
- <p>
- The <code>initval</code> setting is only applied when no explicit value is set on the input with the
- <code>value</code> attribute.
- </p>
- <div class="col-md-5">
- <label for="demo3_21">Value attribute is not set
- <small>(applying settings.initval)</small>
- :</label> <input id="demo3_21" type="text" value="" name="demo3_21">
- <label for="demo3_22">Value is set explicitly to 33
- <small>(skipping settings.initval)</small>
- :</label> <input id="demo3_22" type="text" value="33" name="demo3_22">
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <input id="demo3_21" type="text" value="" name="demo3_21">
- <script>
- $("input[name='demo3_21']").TouchSpin({
- initval: 40
- });
- </script>
- <input id="demo3_22" type="text" value="33" name="demo3_22">
- <script>
- $("input[name='demo3_22']").TouchSpin({
- initval: 40
- });
- </script>
- </pre>
- <script>
- $("input[name='demo3_21']").TouchSpin({
- initval: 40
- });
- $("input[name='demo3_22']").TouchSpin({
- initval: 40
- });
- </script>
- </div>
- </div>
- <p>
- Size of the whole controller can be set with applying <code>input-sm</code> or <code>input-lg</code> class on the
- input, or by applying the plugin on an input inside an <code>input-group</code> with the proper size class(<code>input-group-sm</code>
- or <code>input-group-lg</code>).
- </p>
- <div class="row">
- <div class="col-md-5">
- <label for="demo4">Button postfix (small):</label> <input id="demo4" type="text" value="" name="demo4"
- class="input-sm">
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <input id="demo4" type="text" value="" name="demo4" class="input-sm">
- <script>
- $("input[name='demo4']").TouchSpin({
- postfix: "a button",
- postfix_extraclass: "btn btn-default"
- });
- </script>
- </pre>
- <script>
- $("input[name='demo4']").TouchSpin({
- postfix: "a button",
- postfix_extraclass: "btn btn-default"
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <label for="demo4">Button postfix (large):</label>
- <div class="input-group input-group-lg">
- <input id="demo4_2" type="text" value="" name="demo4_2" class="form-control input-lg">
- </div>
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <div class="input-group input-group-lg">
- <input id="demo4_2" type="text" value="" name="demo4_2" class="form-control input-lg">
- </div>
- <script>
- $("input[name='demo4_2']").TouchSpin({
- postfix: "a button",
- postfix_extraclass: "btn btn-default"
- });
- </script>
- </pre>
- <script>
- $("input[name='demo4_2']").TouchSpin({
- postfix: "a button",
- postfix_extraclass: "btn btn-default"
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <label for="demo5">Button group:</label>
- <div class="input-group">
- <input id="demo5" type="text" class="form-control" name="demo5" value="50">
- <div class="input-group-btn">
- <button type="button" class="btn btn-default">Action</button>
- <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
- <span class="caret"></span>
- <span class="sr-only">Toggle Dropdown</span>
- </button>
- <ul class="dropdown-menu pull-right" role="menu">
- <li><a href="#">Action</a></li>
- <li><a href="#">Another action</a></li>
- <li><a href="#">Something else here</a></li>
- <li class="divider"></li>
- <li><a href="#">Separated link</a></li>
- </ul>
- </div>
- </div>
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- <div class="input-group">
- <input id="demo5" type="text" class="form-control" name="demo5" value="50">
- <div class="input-group-btn">
- <button type="button" class="btn btn-default">Action</button>
- <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
- <span class="caret"></span>
- <span class="sr-only">Toggle Dropdown</span>
- </button>
- <ul class="dropdown-menu pull-right" role="menu">
- <li><a href="#">Action</a></li>
- <li><a href="#">Another action</a></li>
- <li><a href="#">Something else here</a></li>
- <li class="divider"></li>
- <li><a href="#">Separated link</a></li>
- </ul>
- </div>
- </div>
- <script>
- $("input[name='demo5']").TouchSpin({
- prefix: "pre",
- postfix: "post"
- });
- </script>
- </pre>
- <script>
- $("input[name='demo5']").TouchSpin({
- prefix: "pre",
- postfix: "post"
- });
- </script>
- </div>
- </div>
- <div class="row">
- <div class="col-md-5">
- <label for="demo6">Change button class:</label> <input id="demo6" type="text" value="50" name="demo6">
- </div>
- <div class="col-md-7">
- <pre class="prettyprint">
- $("input[name='demo6']").TouchSpin({
- buttondown_class: "btn btn-link",
- buttonup_class: "btn btn-link"
- });
- </pre>
- <script>
- $("input[name='demo6']").TouchSpin({
- buttondown_class: "btn btn-link",
- buttonup_class: "btn btn-link"
- });
- </script>
- </div>
- </div>
- <h3>Event demo</h3>
- <div class="row">
- <div class="col-md-3">
- <input id="demo7" type="text" value="50" name="demo7">
- </div>
- <div class="col-md-9">
- <pre id="demo7textarea" style="height:200px;overflow:auto;"></pre>
- </div>
- <script>
- var i = $("input[name='demo7']"),
- demoarea = $("#demo7textarea"),
- text = "";
- function writeLine(line) {
- text += line + "\n";
- demoarea.text(text);
- demoarea.scrollTop(
- demoarea[0].scrollHeight - demoarea.height()
- );
- }
- i.TouchSpin({});
- i.on("touchspin.on.startspin", function () {
- writeLine("touchspin.on.startspin");
- });
- i.on("touchspin.on.startupspin", function () {
- writeLine("touchspin.on.startupspin");
- });
- i.on("touchspin.on.startdownspin", function () {
- writeLine("touchspin.on.startdownspin");
- });
- i.on("touchspin.on.stopspin", function () {
- writeLine("touchspin.on.stopspin");
- });
- i.on("touchspin.on.stopupspin", function () {
- writeLine("touchspin.on.stopupspin");
- });
- i.on("touchspin.on.stopdownspin", function () {
- writeLine("touchspin.on.stopdownspin");
- });
- i.on("touchspin.on.min", function () {
- writeLine("touchspin.on.min");
- });
- i.on("touchspin.on.max", function () {
- writeLine("touchspin.on.max");
- });
- </script>
- </div>
- <h2>Settings</h2>
- <table class="table table-striped table-bordered docs">
- <thead>
- <tr>
- <th>Option</th>
- <th>Default</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>initval</code></td>
- <td><code>""</code></td>
- <td>Applied when no explicit value is set on the input with the <code>value</code> attribute. Empty string means
- that the value remains empty on initialization.
- </td>
- </tr>
- <tr>
- <td><code>min</code></td>
- <td><code>0</code></td>
- <td>Minimum value.</td>
- </tr>
- <tr>
- <td><code>max</code></td>
- <td><code>100</code></td>
- <td>Maximum value.</td>
- </tr>
- <tr>
- <td><code>step</code></td>
- <td><code>1</code></td>
- <td>Incremental/decremental step on up/down change.</td>
- </tr>
- <tr>
- <td><code>forcestepdivisibility</code></td>
- <td><code>'round'</code></td>
- <td>How to force the value to be divisible by step value: <code>'none'</code> | <code>'round'</code> | <code>'floor'</code>
- | <code>'ceil'</code></td>
- </tr>
- <tr>
- <td><code>decimals</code></td>
- <td><code>0</code></td>
- <td>Number of decimal points.</td>
- </tr>
- <tr>
- <td><code>stepinterval</code></td>
- <td><code>100</code></td>
- <td>Refresh rate of the spinner in milliseconds.</td>
- </tr>
- <tr>
- <td><code>stepintervaldelay</code></td>
- <td><code>500</code></td>
- <td>Time in milliseconds before the spinner starts to spin.</td>
- </tr>
- <tr>
- <td><code>prefix</code></td>
- <td><code>""</code></td>
- <td>Text before the input.</td>
- </tr>
- <tr>
- <td><code>postfix</code></td>
- <td><code>""</code></td>
- <td>Text after the input.</td>
- </tr>
- <tr>
- <td><code>prefix_extraclass</code></td>
- <td><code>""</code></td>
- <td>Extra class(es) for prefix.</td>
- </tr>
- <tr>
- <td><code>postfix_extraclass</code></td>
- <td><code>""</code></td>
- <td>Extra class(es) for postfix.</td>
- </tr>
- <tr>
- <td><code>booster</code></td>
- <td><code>true</code></td>
- <td>If enabled, the the spinner is continually becoming faster as holding the button.</td>
- </tr>
- <tr>
- <td><code>boostat</code></td>
- <td><code>10</code></td>
- <td>Boost at every nth step.</td>
- </tr>
- <tr>
- <td><code>maxboostedstep</code></td>
- <td><code>false</code></td>
- <td>Maximum step when boosted.</td>
- </tr>
- <tr>
- <td><code>mousewheel</code></td>
- <td><code>true</code></td>
- <td>Enables the mouse wheel to change the value of the input.</td>
- </tr>
- <tr>
- <td><code>buttondown_class</code></td>
- <td><code>'btn btn-default'</code></td>
- <td>Class(es) of down button.</td>
- </tr>
- <tr>
- <td><code>buttonup_class</code></td>
- <td><code>'btn btn-default'</code></td>
- <td>Class(es) of up button.</td>
- </tr>
- </tbody>
- </table>
- <h2>Events</h2>
- <h3>Triggered events</h3>
- <p>The following events are triggered on the original input by the plugin and can be listened on.</p>
- <table class="table table-striped table-bordered docs">
- <thead>
- <tr>
- <th>Event</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>change</code></td>
- <td>Triggered when the value is changed with one of the buttons (but not triggered when the spinner hits the
- limit set by <code>settings.min</code> or <code>settings.max</code>.
- </td>
- </tr>
- <tr>
- <td><code>touchspin.on.startspin</code></td>
- <td>Triggered when the spinner starts spinning upwards or downwards.</td>
- </tr>
- <tr>
- <td><code>touchspin.on.startupspin</code></td>
- <td>Triggered when the spinner starts spinning upwards.</td>
- </tr>
- <tr>
- <td><code>touchspin.on.startdownspin</code></td>
- <td>Triggered when the spinner starts spinning downwards.</td>
- </tr>
- <tr>
- <td><code>touchspin.on.stopspin</code></td>
- <td>Triggered when the spinner stops spinning.</td>
- </tr>
- <tr>
- <td><code>touchspin.on.stopupspin</code></td>
- <td>Triggered when the spinner stops upspinning.</td>
- </tr>
- <tr>
- <td><code>touchspin.on.stopdownspin</code></td>
- <td>Triggered when the spinner stops downspinning.</td>
- </tr>
- <tr>
- <td><code>touchspin.on.min</code></td>
- <td>Triggered when the spinner hits the limit set by <code>settings.min</code>.</td>
- </tr>
- <tr>
- <td><code>touchspin.on.max</code></td>
- <td>Triggered when the spinner hits the limit set by <code>settings.max</code>.</td>
- </tr>
- </tbody>
- </table>
- <h3>Callable events</h3>
- <p>The following events can be triggered on the original input.</p>
- <p>
- Example usages:<br>
- <code class="prettyprint">$("input").trigger("touchspin.uponce");</code><br>
- <code class="prettyprint">$("input").trigger("touchspin.updatesettings", {max: 1000});</code>
- </p>
- <table class="table table-striped table-bordered docs">
- <thead>
- <tr>
- <th>Event</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>touchspin.updatesettings</code></td>
- <td><code>function(newoptions)</code>: Update any setting of an already initialized TouchSpin instance.</td>
- </tr>
- <tr>
- <td><code>touchspin.uponce</code></td>
- <td>Increase the value by one step.</td>
- </tr>
- <tr>
- <td><code>touchspin.downonce</code></td>
- <td>Decrease the value by one step.</td>
- </tr>
- <tr>
- <td><code>touchspin.startupspin</code></td>
- <td>Starts the spinner upwards.</td>
- </tr>
- <tr>
- <td><code>touchspin.startdownspin</code></td>
- <td>Starts the spinner downwards.</td>
- </tr>
- <tr>
- <td><code>touchspin.stopspin</code></td>
- <td>Stops the spinner.</td>
- </tr>
- </tbody>
- </table>
- <h2>Download</h2>
- <p><a id="link-ghd" href="https://github.com/istvan-ujjmeszaros/bootstrap-touchspin" target="_blank">Download</a> from
- github. Please report issues and suggestions to github's issue tracker or contact me on <a id="link-gp"
- href="https://plus.google.com/101242556570448529330/posts"
- target="_blank">g+</a> or
- <a id="link-tw" href="https://twitter.com/styu007" target="_blank">twitter</a>!</p>
- </div>
- <script>
- prettyPrint();
- </script>
|