web-dev-qa-db-ja.com

rangelider.jsを機能させることができません

私は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/

16
user2806026

実際の答えは、ポリフィルオプションです。

機能検出のデフォルトは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 );
    }
});
64
Luke Snowden

私が学んだことは、これが機能するためには<input>にも属性[role="input-range"]が必要であることです。

<input type="range" min="1" max="100" value="10" role="input-range">

$('input[type="range"]').rangeslider({
  polyfill: false
});
1
Mentori

それも私にとってはうまくいきましたが、ドキュメントの準備ができていました

 $(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 );
            }
        });
    });
0
Cosmin Cojocaru
<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>
0
ecklerpa