gpt4 book ai didi

jquery - 具有多个句柄的 jquery slider 中不同句柄的不同 "step"值

转载 作者:行者123 更新时间:2023-12-01 05:51:44 24 4
gpt4 key购买 nike

我有一个带有 4 个 handle 的 slider 。 slider 用于选择一天开始时间、午餐开始时间、午餐结束时间和一天结束时间。

handle A 可以以 15 分钟为步长移动。 (9:15、9:30等)
handle B 应以 30 分钟的步长从 handle A 移动。(如果 A 设置为 9:15,则 B 只能滑动到 9:45、10:15 等。
handle C可以从 handle B移动15分钟
handle D 应再次从 handle C 移动 30 分钟。

slider 是这样的
步骤:---15分钟------------30分钟------15分钟------------30分钟--------
-----------|A|--------------------|B|----------|C|-- --------------|D|----------------
----------9:00--------------12:00-----13:30--------- -16:00

<小时/>

几个有效的 slider 状态示例来澄清问题:
-|A|------------|B|------------|C|---------------- ---|D|
9:15--------12:15---------13:00----------------15:00

-|A|------------|B|-------------|C|------------- ------|D|
9:30-----12:00---------13:00----------------16:30

<小时/>

有没有办法将步长设置为 [15,30,15,30],就像我将值设置为 [60, 240, 360, 540] 一样?

请帮忙!谢谢。

最佳答案

您可以使用 jQuery UI Slider 的启动事件来实现它。当您开始滑动时,识别句柄并更新 jQuery UI Slider 的 step 属性。

HTML:

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

脚本:

 $(function () {
$("#slider-range").slider({
min: 0,
max: 1500,
values: [75, 300, 700, 1000],
start: function (event, ui) {
var hIndex = $(ui.handle).index();
if (hIndex == 0 || hIndex == 2) {
$("#slider-range").slider("option", "step", 15);
}
if (hIndex == 1 || hIndex == 3) {
$("#slider-range").slider("option", "step", 30);
}
},
slide: function (event, ui) {
if (ui.values[0] > ui.values[1] || ui.values[1] > ui.values[2] || ui.values[2] > ui.values[3]) {
return false;
}
console.log("Handle 1:" + ui.values[0] + " 2:" + ui.values[1]+ " 3:" + ui.values[2]+ " 4:" + ui.values[3]);
}
});
});

请参阅Demo

关于jquery - 具有多个句柄的 jquery slider 中不同句柄的不同 "step"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21377258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com