jQuery 问题中的舍入数字

Rounding numbers in jQuery issue

无法理解为什么当您滑动时此代码没有对块 1/2/3 中的值进行舍入。 Here is the link for this example.

$(function () {
    $("#slider-range-min").slider({
        range: "min",
        value: 0,
        min: 0,
        max: 1000,
        slide: function (event, ui) {
            $("#amount").val(ui.value + ",000" + " руб.");

            $('.number').each(function () {
                var curval = $(this).data('summary');
                var newval = parseInt($(this).val(curval - ui.value * 0.08))

                if (!curval >= $(this).val()) {
                    $(this).val('It is free now')
                }
            });
        }
    });

我认为您在这段代码中尝试做的事情太多了:

var newval = parseInt($(this).val(curval - ui.value * 0.08))

这部分改变了值,但没有做任何舍入:

$(this).val(curval - ui.value * 0.08)

它 returns 一个 jQuery 对象,然后您用 parseInt() 调用它,导致 newval 成为 NaN

改为这样做:

var newval = parseInt(curval - ui.value * 0.08);
$(this).val(newval);

Updated CodePen