带两个旋钮的单滑块,每个旋钮都有自己的范围

发布于 2024-11-15 11:36:38 字数 610 浏览 3 评论 0原文

我有一个小要求..请有人帮助我
我有这段代码使用 JQuery UISlider 制作一个带有两个旋钮的滑块,但我希望两者都有自己的范围。
例如,如果总范围为 1-100,第一个旋钮应仅在 1-50 之间滑动,第二个旋钮应在 51-100 之间滑动。

<script>
$(function() {
    $( "#slider-range" ).slider({
        range: true,
        min: 1,
        max: 100,
        values: [ 1, 100 ],
        slide: function( event, ui ) {
            $( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
        }
    });
    $( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
        " - $" + $( "#slider-range" ).slider( "values", 1 ) );
});
</script>

I have a small requirement.. Please someone help me
I have this code to make one slider with two knobs using JQuery UISlider, but i want both to be having their own ranges.
For example if the total range is 1-100, first knob should slide between only 1-50 and second one should slide between 51-100.

<script>
$(function() {
    $( "#slider-range" ).slider({
        range: true,
        min: 1,
        max: 100,
        values: [ 1, 100 ],
        slide: function( event, ui ) {
            $( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
        }
    });
    $( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) +
        " - $" + $( "#slider-range" ).slider( "values", 1 ) );
});
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空名 2024-11-22 11:36:38

你可以这样做:

$("#slider-range").slider({
    range: true,
    min: 1,
    max: 100,
    values: [1, 100],
    slide: function(event, ui) {
        // Make sure first handle doesn't go over 50
        if ( ui.value == ui.values[0] && ui.value > 50 ) {
            return false;
        }
        // Make sure second handle doesn't go below 51
        if ( ui.value == ui.values[1] && ui.value < 51 ) {
            return false;
        }
        $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
    }
});
$("#amount").val("$" + $("#slider-range").slider("values", 0) + " - $" + $("#slider-range").slider("values", 1));

示例: http://jsfiddle.net/petersendidit/kbHbc/1/< /a>

You can do something like this:

$("#slider-range").slider({
    range: true,
    min: 1,
    max: 100,
    values: [1, 100],
    slide: function(event, ui) {
        // Make sure first handle doesn't go over 50
        if ( ui.value == ui.values[0] && ui.value > 50 ) {
            return false;
        }
        // Make sure second handle doesn't go below 51
        if ( ui.value == ui.values[1] && ui.value < 51 ) {
            return false;
        }
        $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
    }
});
$("#amount").val("$" + $("#slider-range").slider("values", 0) + " - $" + $("#slider-range").slider("values", 1));

Example: http://jsfiddle.net/petersendidit/kbHbc/1/

感悟人生的甜 2024-11-22 11:36:38

jQuery UI 滑块扩展 - 未来参考

我已经为现有 jQuery UI 滑块小部件编写了一个扩展,它(也)可以满足您的要求。由于代码得到维护,我不会将其粘贴到此处,因为您始终可以获得 我的博客上的最新版本

它支持的

  • 最小和最大允许范围大小
  • 下范围边界最大值 - 这是您需要的
  • 上限范围边界最小值 - 这也是
  • 自动范围滑动 - 当一个手柄达到最大范围大小时,它会拖动另一个手柄以保持范围大小最大值时

jQuery UI slider extension - future reference

I've written an extension for the existing jQuery UI slider widget that (also) does what you require. Since code is maintained I'm not pasting it in here since you can always get the latest version on my blog.

What it supports

  • minimum and maximum allowed range size
  • lower range boundary maximum value - this is what you needed
  • upper range boundary minimum value - this one as well
  • automatic range sliding - when one handle reaches maximum range size it drags the other handle along keeping range size at max value
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文