jQuery UI滑块向前迈出了一步

时间:2012-09-12 11:12:55

标签: jquery jquery-ui slider

我的jQuery UI有问题 这是一个例子: http://jsfiddle.net/zFsZV/7/ 移动滑块时,黑色'进度条'移动完全相同(它们具有相同的宽度),但当你向后移动滑块时,黑色div是向前一步。 有可能以某种方式修复它吗?我想在滑块

的同一级别上设置黑色div

1 个答案:

答案 0 :(得分:2)

我能看到如何使其工作的唯一方法是在javascript中设置超时,根据.ui-slider-range宽度更新位置。

Check out this fiddle

$(document).ready(function() {

    $('#slider').slider({
        range: "min",
        value: 1,
        min: 1,
        max: 10,
        step: 1,
        slide: function(event, ui){   
            console.log(ui);
            console.log(ui.handle.attributes[2].value);
            setTimeout(setPosition, 10);            
        }
    })
    $('#slider').slider('value');

});
function setPosition(){
    $('.color').css('width', $('.ui-slider-range').width());
}

通过检查可以在slide事件中访问的ui对象,在事件发生后,元素的位置似乎总是被设置,这意味着您实际上无法直接设置正确的宽度/左侧位置。如果你看一下我的例子,设置超时意味着设置了正确的位置。