11

使用 jQuery-UI 1.7,我集成了滑块。一切正常,但滑块的手柄在拖动时相互重叠。我该如何防止这种情况。

你可以在这里看到我的 ui 滑块

默认视图:

在此处输入图像描述

重叠视图:

在此处输入图像描述

4

2 回答 2

30

您可以通过检测slide事件处理程序中的重叠并返回 false 以防止发生滑动来完成此操作。例子:

$( "#slider-range" ).slider({
    range: true,
    min: 0,
    max: 500,
    values: [ 75, 300 ],
    slide: function( event, ui ) {
        if ( ( ui.values[ 0 ] + 20 ) >= ui.values[ 1 ] ) {
            return false;
        }
    }
});
body { padding: 50px; }
<link href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<div id="slider-range"></div>
请注意,在此示例中,值20只是根据句柄的宽度进行硬编码。根据您的用例,您必须将其更改为任何有意义的内容。

于 2012-05-25T13:00:37.333 回答
-1
<script>
    $( "#slider-range" ).slider({
        range: true,
        min: 0,
        max: 500,
        values: [ 75, 300 ],
        slide: function(event, ui) {
            if ( (ui.values[0] + 55) >= ui.values[1] ) {
                return false;
            }
        }
    });​
</script>
于 2014-09-20T07:32:11.467 回答