簡體   English   中英

jQuery UI滑塊最大值不正確

[英]Jquery UI Slider incorrect max value

我正在初始化一個jQuery ui滑塊,其值例如為.01,最小值為0.01,最大值為5000。我的問題是最大值在4999.990000000001處停止。 你能看到我做錯了嗎?

$( "#sliderModal" ).slider({
    value:r.min_price/100,
    min: r.min_price/100,
    max: r.max_price/100,
    step:0.01,
    slide: function( event, ui ) {
       $( "#amountModal" ).val(ui.value );
    }
});

這是與float值有關的舍入誤差。 解決該問題的最簡單方法是使用整數:

$( "#sliderModal" ).slider({
    value:r.min_price,
    min: r.min_price,
    max: r.max_price,
    step:1,
    slide: function( event, ui ) {
        $( "#amountModal" ).val(ui.value*100);
    }
});

請注意,我刪除了所有/100運算並將該值乘以100。

假設該值未顯示為數字-如果是,則將數字乘以100,而不是要查找的漂亮的,干凈的小數點后兩位數字。

快速修復-浮點數

jquery-ui.js_calculateNewMax函數中,更改

Math.floor(..

Math.round(..

所以,如果有

aboveMin = Math.floor((+(max-min).toFixed(this._precision()))/step)*step;

aboveMin = Math.round((+(max-min).toFixed(this._precision()))/step)*step;

注意*:您需要編輯和鏈接本地化的js文件。

注意**:檢查鏈接以指向jquery-ui.js而不是jquery-ui.min.js。

在v1.11.4上檢查

希望能幫助到你,

giannisepp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM