私はrangeslider jQueryプラグインを使用しようとしています: http://andreruffert.github.io/rangeslider.js/
ただし、動作しないようです。何が悪いのですか?
<input
type="range"
min="10" // default 0
max="1000" // default 100
step="10" // default 1
value="300" // default min + (max-min)/2
data-orientation="vertical" // default horizontal
>
$( document ).ready(function() {
$('input[type="range"]').rangeslider();
});
Jsfiddle: http://jsfiddle.net/8n2ckkmr/
実際の答えは、ポリフィルオプションです。
機能検出のデフォルトは
true
です。ネイティブの<input type = "range">要素をサポートするブラウザでもポリフィルを使用する場合は、これをfalse
に設定します。
開始する簡単な方法を次に示します。
$('input[type="range"]').rangeslider({
polyfill : false,
onInit : function() {
this.output = $( '<div class="range-output" />' ).insertAfter( this.$range ).html( this.$element.val() );
},
onSlide : function( position, value ) {
this.output.html( value );
}
});
私が学んだことは、これが機能するためには<input>
にも属性[role="input-range"]
が必要であることです。
<input type="range" min="1" max="100" value="10" role="input-range">
$('input[type="range"]').rangeslider({
polyfill: false
});
それも私にとってはうまくいきましたが、ドキュメントの準備ができていました
$(document).ready(function() {
$('[role="range"]').rangeslider({
polyfill : false,
onInit : function() {
this.output = $( '[role="input-range"]' ).html( this.$element.val() );
},
onSlide : function( position, value ) {
this.output.html( value );
}
});
});
<input type="range" min="10" max="1000" step="10" value="300" />
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/js/rangeslider.js" asp-append-version="true"></script>
<script>
$('input[type="range"]').rangeslider({
polyfill: false,
onInit: function () {
this.output = $('<div class="range-output"
/>').insertAfter(this.$range).html(this.$element.val());
},
onSlide: function (position, value) {
this.output.html(value);
}
});</script>