Javascript ';改变';JQuery UI滑块的事件问题
我有一个使用JQuery UI构建的滑块功能。它的行为应该是这样的: 滑块被激活/停用20次。每转一圈为5秒,在前2秒内滑块保持禁用状态,滑块手柄隐藏。之后,用户可以使用鼠标单击滑块上的任意位置来放置控制柄并选择一个值。单击后,用户还可以使用左/右箭头键调整手柄。在5秒钟结束时,发生了三件事:1。滑块处于禁用状态;2.手柄复位至最小值;3.把手是隐藏的。然后在下一个回合重新开始前有一个1秒的超时 下面是一个工作示例: 我注意到两个问题,这两个问题都发生在相同的条件下:用户在5秒周期结束时同时使用鼠标和键盘来调整幻灯片上的手柄位置。您可以通过连续快速地单击幻灯片,同时在每一回合结束时按左键和/或右键来模拟此操作 如果您这样做,两件事中的一件会发生(并非每次都会发生,但几次尝试后肯定会重现):Javascript ';改变';JQuery UI滑块的事件问题,javascript,jquery,jquery-ui,jquery-ui-slider,Javascript,Jquery,Jquery Ui,Jquery Ui Slider,我有一个使用JQuery UI构建的滑块功能。它的行为应该是这样的: 滑块被激活/停用20次。每转一圈为5秒,在前2秒内滑块保持禁用状态,滑块手柄隐藏。之后,用户可以使用鼠标单击滑块上的任意位置来放置控制柄并选择一个值。单击后,用户还可以使用左/右箭头键调整手柄。在5秒钟结束时,发生了三件事:1。滑块处于禁用状态;2.手柄复位至最小值;3.把手是隐藏的。然后在下一个回合重新开始前有一个1秒的超时 下面是一个工作示例: 我注意到两个问题,这两个问题都发生在相同的条件下:用户在5秒周期结束时同时使用
更改事件将触发
change
事件将被触发,无论您在幻灯片上做什么,即单击鼠标或按左/右键根本不会定位手柄。因此,滑块在所有后续期间都将完全不可用。我觉得这与重置操作同时触发两个change
事件(一个通过单击鼠标,另一个通过按下左/右键)的可能性有关另外,我尝试了多个版本的JQuery UI和JQuery,但问题依然存在。很遗憾,我无法解释这个问题,但我通过将
change
事件更改为start
事件,成功地解决了这个问题(如果您专门将change
事件用于其他内容,我认为这不起作用)。不幸的是,我无法解释这个问题,但我通过将change
事件更改为start
事件,成功地解决了这个问题(如果您专门使用change
事件来处理其他事情,我认为这是不起作用的)。这应该是某种游戏吗?如果是,因为jQuery有“feux线程”,可能有助于解决这些问题。在我看来,您依赖计时器来创建“feux线程”,但要做到这一点,还需要做很多工作。只需注意,有一个额外的库已经做到了这一点(还有一堆你可能不需要的东西,但它并不庞大)@SpYk3HH,它不是一款游戏,而是用户指定的一些自定义交互。感谢gameQuery
上的建议,但我觉得仅此滑块功能就有点过分了。这应该是某种游戏吗?如果是,因为jQuery有“feux线程”并且可能有助于解决这些问题。在我看来,您依赖计时器来创建“feux线程”,但要做到这一点,还需要做很多工作。只需注意,有一个额外的库已经做到了这一点(以及一些您可能不需要的其他东西,但它并不庞大)@SpYk3HH,它不是一款游戏,而是用户指定的一些自定义交互。感谢gameQuery
上的建议,但我觉得仅此滑块功能就有点过分了。似乎使用stop
事件至少可以防止第二个(以及更严重的)问题。似乎使用stop
事件至少可以防止第二个(以及更严重的)问题。