Javascript jQuery UI滑块:允许句柄交叉

Javascript jQuery UI滑块:允许句柄交叉,javascript,jquery,jquery-ui,uislider,rangeslider,Javascript,Jquery,Jquery Ui,Uislider,Rangeslider,我正在使用以下网页上的范围滑块(请参阅“白班和夜班”) 我对其进行了定制,使其以小时和分钟(15分钟为增量)工作: 我现在需要做的是设置它,以便控制柄可以重叠。这样,它将允许用户指定20:00–04:00的班次。此外,当句柄重叠时,突出显示的蓝色条应该反映它,而不是出现在句柄的中间。 目前这是不可能的 我甚至想不出从哪里开始实现这一点,有人有什么建议吗?你可以用一些技巧反转你的范围滑块。这是一个带有单击事件的示例: HTML <div id="slider-range"></d

我正在使用以下网页上的范围滑块(请参阅“白班和夜班”)

我对其进行了定制,使其以小时和分钟(15分钟为增量)工作:

我现在需要做的是设置它,以便控制柄可以重叠。这样,它将允许用户指定20:00–04:00的班次。此外,当句柄重叠时,突出显示的蓝色条应该反映它,而不是出现在句柄

的中间。 目前这是不可能的


我甚至想不出从哪里开始实现这一点,有人有什么建议吗?

你可以用一些技巧反转你的范围滑块。这是一个带有单击事件的示例:

HTML

<div id="slider-range"></div>

<div class="from time-day"></div>
<div class="to time-night"></div>

<button>Invert</button>
工作

我没有时间进一步讨论,但您可以使用另一段代码调整此代码,以检测如下重叠:

  $( "#slider-range" ).bind( "slide", function(event, ui) {
      var values = $( "#slider-range" ).slider( "option", "values" );
      if (ui.values[0] >= ui.values[1]) {
            console.log("overlap");
      }
  });

希望有帮助。

你可以用一些技巧反转你的范围滑块。这是一个带有单击事件的示例:

HTML

<div id="slider-range"></div>

<div class="from time-day"></div>
<div class="to time-night"></div>

<button>Invert</button>
工作

我没有时间进一步讨论,但您可以使用另一段代码调整此代码,以检测如下重叠:

  $( "#slider-range" ).bind( "slide", function(event, ui) {
      var values = $( "#slider-range" ).slider( "option", "values" );
      if (ui.values[0] >= ui.values[1]) {
            console.log("overlap");
      }
  });

希望有帮助。

你为什么需要这个?如果你开始拖动左手柄,它移动到右手柄,你需要更改手柄内的图标,这也会使用于读取所选值/范围的逻辑变得非常复杂。我想我知道你想要实现什么。谷歌搜索了一下,但还没有找到什么。也许你想把它从一个单滑块改为2个datetimepicker字段,这会容易得多,但看起来不太好。你为什么需要这个?如果你开始拖动左手柄,它移动到右手柄,你需要更改手柄内的图标,这也会使用于读取所选值/范围的逻辑变得非常复杂。我想我知道你想要实现什么。谷歌搜索了一下,但还没有找到什么。也许你想把它从一个单滑块改为2个datetimepicker字段,这会容易得多,但看起来不太好。