Не удается заставить rangelider.js работать
Я пытаюсь использовать плагин jQuery для schedlider:
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/
Ответы
Ответ 1
Фактический ответ зависит от опции polyfill;
Обнаружение функции по умолчанию - true
. Установите значение false
, если вы хотите использовать polyfill также в браузерах, которые поддерживают native < input type = "range" > элемент.
Вот простой способ начать работу:
$('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 );
}
});
Ответ 2
Я понял, что <input>
должен иметь также атрибут [role="input-range"]
, чтобы это работало:
<input type="range" min="1" max="100" value="10" role="input-range">
$('input[type="range"]').rangeslider({
polyfill: false
});
Ответ 3
Он работал и на меня, но только на готовом документе
$(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 );
}
});
});
Ответ 4
<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>