javascript - jquery slider 返回不一致的值

标签 javascript jquery html css backbone.js

下面是我主干 View 中的初始化事件。这里没什么特别的,只是快速检查浏览器是否支持 HTML5 range 输入类型,如果不支持则附加 jquery slider 。

当我只是使用 HTML range slider 时,在普通浏览器(即 Chrome、Firefox、IE10+)中一切正常。但是,如果我使用 jquery slider ,我会得到始终不一致的值。

例如,我来回滑动 slider ,开始/结束值永远不会等于代码中指定的 0 或 100。相反,您会看到类似下面的屏幕截图的内容,其中返回值等于 5,尽管句柄已尽可能向左移动。

enter image description here

相反,最右边的值很少是 100,这也是代码中指定的。下面的屏幕截图显示了 slider 最右边的位置,值为 82

enter image description here

var SliderView = Backbone.View.extend({
    el: $("#inputElements"),

    initialize: function() {
        if (!Modernizr.inputtypes.range) {
            //IE9 or less
            $('td#sliderContainer input#slider').remove();
            $('td#sliderContainer span').after("<div id='slider'></div>");
            $('#slider').slider({
                range: true,
                step: 1,
                min: 0,
                max: 100,
            });
        } else {
            //People friendly browsers so... for now carry on
        }
    },

    events: {
        "slide": "updateJquerySliderVal", //Captures jquery slide event for IE9 or less
        "input #slider": "updateSliderVal" //Captures HTML5 range slider input            
    },

    updateJquerySliderVal: function() {
        var val = this.$el.find('#slider').slider('option', 'value');
        console.log(val);
        this.model.set({ slidervalue: val });
    },

    updateSliderVal: function() {
        var val = this.$el.find('#slider').val();
        this.model.set({ slidervalue: val });
    }
});

最佳答案

切换到 rangeslider.js ,而不是标准的 jQuery slider ,解决了这个问题。

关于javascript - jquery slider 返回不一致的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28910297/

相关文章:

javascript - 将参数从 UI 传递到后端的最佳方式

javascript - 如何触发tab键按钮事件?

javascript - 用javascript将一个HTML节点分割为多个节点

javascript - 又是Safari??表单提交绕过 AJAX

javascript - 如何更改使用 jQuery 加载的 html 中的值?

javascript - 仅在选项卡上显示元素轮廓,但不在单击时显示

javascript - 我如何在php中获取选择值而不是选项值

JavaScript 网页

html - 一个 flex 元素的填充会影响其余的 flex 元素

javascript - css代码如何将导航放在中间