Подтвердить что ты не робот

Не удается заставить 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/

4b9b3361

Ответ 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>