Javascript jQueryUI滑块的有趣行为

Javascript jQueryUI滑块的有趣行为,javascript,jquery,html,slider,Javascript,Jquery,Html,Slider,我正在开发一个工具,让我的员工填写他们的可用性,但我似乎遇到了一个有趣的错误。表单通过使用范围滑块工作,员工可以将其开始时间和结束时间拖动到适当的可用范围 我遇到的问题是,当您最初向前移动滑块时,它在第一步没有改变,当您尝试返回到最小值(或最大值)时,它将短30分钟(一步) HTML: 检查是否可用 最终解决方案如下 问题是在实际更改之前调用了幻灯片事件 您可以使用change事件,但只有释放滑块时才会调用此事件 $("#monslide").slider({ range: t

我正在开发一个工具,让我的员工填写他们的可用性,但我似乎遇到了一个有趣的错误。表单通过使用范围滑块工作,员工可以将其开始时间和结束时间拖动到适当的可用范围

我遇到的问题是,当您最初向前移动滑块时,它在第一步没有改变,当您尝试返回到最小值(或最大值)时,它将短30分钟(一步)

HTML:



检查是否可用 最终解决方案如下

问题是在实际更改之前调用了
幻灯片
事件

您可以使用
change
事件,但只有释放滑块时才会调用此事件

$("#monslide").slider({
        range: true,
        values: [360, 1320],
        min: 360,
        max: 1320,
        step: 30,
        change: monSlideTime
    });
然而,这将恶化可用性。。。同时使用这两种方法也不会产生好的感觉,但效果很好:

更新: 好的,我做了一点调查。您应该使用
ui
对象来读取值
ui.value
返回当前滑块移动的结果值,
ui.values
在移动前提供这两个值

我在这里使用的检查可能实施得更干净,但似乎有效:


顺便说一句,滑块代码中没有bug,我认为它们的行为是这样的…;-)

我也很难用小提琴演奏。这就像没有加载jQuery UI一样。有趣的是:如果最小值(或最大值)短30分钟,您可以移动另一个来纠正它……有趣的是:如果您将右滑块向左移动,然后再向后移动,则最远的时间是9:30。但是如果你调整左滑块,它会将其修复回10:00。这个滑块的错误数量让我发疯:(我想我找到了你的代码。他实际上在上面说有很多bug,并解决了所有的问题。谢谢你提供这些信息。这可能是我的解决方案,但我担心它可能会让人困惑。你还有什么建议或替代方案吗?好的,我找到了解决方案并更新了JSFIDLE。而不是阅读从html元素开始,您应该使用
幻灯片
事件处理程序中提供的
ui
对象。
$("#monslide").slider({
        range: true,
        values: [360, 1320],
        min: 360,
        max: 1320,
        step: 30,
        change: monSlideTime
    });