https://www.hangge.com/blog/cache/detail_882.html
滑动条 range 控件同 number 控件类似,它可以表示整数或者小数值。同时也支持 min 和 max 属性,用于设置允许的范围。
不同的是,number 控件是一个文本框形式,而 range 控件使用滑动条的形式。和音量调节器很像,通过拖动滑块来选择值。适用于那些对输入数据不要特别精确地方使用。
注意:range 控件浏览器不会告诉你最终设定了多大的值,如果想要显示这个值,可以使用 js 响应滑动条的变化事件(onchange 事件),然后在旁边把值显示出来。)
<input type="range" min="0" max="100" value="70"/>
如果给滑动条添加个 onchange 事件会发现,这个只有在拖动完毕后(即鼠标松开)才会触发。
有时我们想要在拖动的过程中也能实时响应事件,那么可以给滑动条添加个 oninput 事件(onchange 事件可以不要了)。
<input id="range" type="range" min="0" max="5" value="0" oninput="change()"/> <script type="text/javascript"> function change() { var value = document.getElementById("range").value; console.log(value); } </script>
将滑块从左向右拖动,可以看到控制台实时打印出当前的值。
https://www.runoob.com/try/try.php?filename=jqueryui-example-slider-colorpicker
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 滑块(Slider) - 颜色选择器</title> <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css"> <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script> <link rel="stylesheet" href="jqueryui/style.css"> <style> #red, #green, #blue { float: left; clear: left; width: 300px; margin: 15px; } #swatch { width: 120px; height: 100px; margin-top: 18px; margin-left: 350px; background-image: none; } #red .ui-slider-range { background: #ef2929; } #red .ui-slider-handle { border-color: #ef2929; } #green .ui-slider-range { background: #8ae234; } #green .ui-slider-handle { border-color: #8ae234; } #blue .ui-slider-range { background: #729fcf; } #blue .ui-slider-handle { border-color: #729fcf; } </style> <script> function hexFromRGB(r, g, b) { var hex = [ r.toString( 16 ), g.toString( 16 ), b.toString( 16 ) ]; $.each( hex, function( nr, val ) { if ( val.length === 1 ) { hex[ nr ] = "0" + val; } }); return hex.join( "" ).toUpperCase(); } function refreshSwatch() { var red = $( "#red" ).slider( "value" ), green = $( "#green" ).slider( "value" ), blue = $( "#blue" ).slider( "value" ), hex = hexFromRGB( red, green, blue ); $( "#swatch" ).css( "background-color", "#" + hex ); } $(function() { $( "#red, #green, #blue" ).slider({ orientation: "horizontal", range: "min", max: 255, value: 127, slide: refreshSwatch, change: refreshSwatch }); $( "#red" ).slider( "value", 255 ); $( "#green" ).slider( "value", 140 ); $( "#blue" ).slider( "value", 60 ); }); </script> </head> <body class="ui-widget-content" style="border:0;"> <p class="ui-state-default ui-corner-all ui-helper-clearfix" style="padding:4px;"> <span class="ui-icon ui-icon-pencil" style="float:left; margin:-2px 5px 0 0;"></span> 简单的颜色选择器 </p> <div id="red"></div> <div id="green"></div> <div id="blue"></div> <div id="swatch" class="ui-widget-content ui-corner-all"></div> </body> </html>