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>