Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Look here:</p> <p><a href="http://docs.jquery.com/UI/API/1.8/Slider" rel="nofollow">http://docs.jquery.com/UI/API/1.8/Slider</a></p> <p>The following code works well and is an extension of your original jsfiddle. I finally understood what you wanted and it seems to work fine now:</p> <p><a href="http://www.quirkscode.com/flat/forumPosts/src/rangeSliders/rangeSliders.html" rel="nofollow">Live Working Code Sample</a></p> <p>JavaScript:</p> <pre><code>$(document).ready(function () { 'use strict'; var stepSlider = $('#stepSlider'); var stepText = $('#stepText'); var rangeSlider = $('#rangeSlider'); var rangeText = $('#rangeText'); var oldStep; stepSlider.slider({ min:0, max:120, slide:function (event, ui) { stepText.text(ui.value); var rsValues = rangeSlider.slider("option", "values"); var stepDiff = ui.value - oldStep; var rsMax = rangeSlider.slider("option", "max"); var rsMin = rangeSlider.slider("option", "min"); if (stepDiff &gt; 0) { rsValues[1] += stepDiff; if (rsValues[1] &gt; rsMax) { rsValues[0] = rsMax - ui.value; rsValues[1] = rsMax; } } else if (stepDiff &lt; 0) { rsValues[1] += stepDiff; if (rsValues[1] &lt; rsMin) { rsValues[0] = rsMin; rsValues[1] = ui.value; } } rangeSlider.slider("option", "values", rsValues); rangeText.text(rsValues[0] + ' - ' + rsValues[1]); oldStep = ui.value; } }); rangeSlider.slider({ min:0, max:600, values:[0, 0], slide:function (event, ui) { var step = stepSlider.slider("option", "value"); var oldValues = rangeSlider.slider("option", "values"); var rsMax = rangeSlider.slider("option", "max"); var rsMin = rangeSlider.slider("option", "min"); var diff; if (oldValues[0] != ui.values[0]) { diff = ui.values[0] - oldValues[0]; if (diff &gt; 0 &amp;&amp; diff &lt;= step &amp;&amp; ui.values[1] === rsMax) { return false; } ui.values[1] += diff; if (ui.values[1] &gt; rsMax) { ui.values[1] = rsMax; ui.values[0] = ui.values[1] - step; } rangeSlider.slider("option", "values", ui.values); rangeText.text(ui.values[0] + ' - ' + ui.values[1]); return false; } if (oldValues[1] != ui.values[1]) { diff = ui.values[1] - oldValues[1]; if (diff &lt; 0 &amp;&amp; diff &gt;= -step &amp;&amp; ui.values[0] === rsMin) { return false; } ui.values[0] += diff; if (ui.values[0] &lt; rsMin) { ui.values[0] = rsMin; ui.values[1] = ui.values[0] + step; } rangeSlider.slider("option", "values", ui.values); rangeText.text(ui.values[0] + ' - ' + ui.values[1]); return false; } rangeText.text(ui.values[0] + ' - ' + ui.values[1]); } }); oldStep = stepSlider.slider("option", "value"); }); </code></pre> <p>HTML:</p> <pre><code>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Sliders&lt;/title&gt; &lt;link href="rangeSliders.css" rel="stylesheet" type="text/css"/&gt; &lt;link href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/&gt; &lt;script src="http://code.jquery.com/jquery-1.8.2.js"&gt;&lt;/script&gt; &lt;script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="stepSlider"&gt; &lt;div id="stepText"&gt;0&lt;/div&gt; &lt;/div&gt; &lt;div id="rangeSlider"&gt; &lt;div id="rangeText"&gt;0-600&lt;/div&gt; &lt;/div&gt; &lt;script type="text/javascript" src="rangeSliders.js"&gt;&lt;/script&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>CSS:</p> <pre><code>body { margin: 50px; } #stepSlider, #rangeSlider { width: 200px; margin-bottom: 25px; } #stepText, #rangeText { margin: -4px 0 0 225px; width: 100%; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload