使用javascript禁用鼠标滚轮X毫秒?
我有一个支持RoyalSlider和鼠标滚轮的网站 一切正常,但当我使用macbook(touchpad)时,问题是我在滚动时一次触发几个鼠标滚轮事件。所以基本上我想让脚本暂停一段时间(或者稍微少一点)来改变一张幻灯片使用javascript禁用鼠标滚轮X毫秒?,javascript,freeze,mousewheel,milliseconds,Javascript,Freeze,Mousewheel,Milliseconds,我有一个支持RoyalSlider和鼠标滚轮的网站 一切正常,但当我使用macbook(touchpad)时,问题是我在滚动时一次触发几个鼠标滚轮事件。所以基本上我想让脚本暂停一段时间(或者稍微少一点)来改变一张幻灯片 我需要的是一个javascript,每次鼠标滚轮被触发时(在向滑块发送1或-1后)它都会冻结x毫秒。一个带有回调和标志的计时器可以工作。开始滚动时,您设置了标志且不允许滚轮工作,请参阅关于如何禁用滚轮。当计时器启动时(大约1秒),您重置该标志,让此人再次滚动。有关如何设置带回拨的
我需要的是一个javascript,每次鼠标滚轮被触发时(在向滑块发送1或-1后)它都会冻结x毫秒。一个带有回调和标志的计时器可以工作。开始滚动时,您设置了标志且不允许滚轮工作,请参阅关于如何禁用滚轮。当计时器启动时(大约1秒),您重置该标志,让此人再次滚动。有关如何设置带回拨的计时器的信息,请参见。我无法提供完整的代码示例,因为您没有向我们提供任何代码,但以下是解决方案。
滚动鼠标时,滚动动画开始。比如说,在事件处理程序之外的某个地方创建一个变量
var animationInProgress = false;
并在动画开始之前将其设置为true
。然后,这个RoyalSlider插件必须有某种类型的完整的处理程序(我打赌它有-虽然是付费的)-一个参数,您可以在动画结束时放置一个要调用的函数。所以,你在那里放了一个类似的函数:
function() {
animationInProgress = false;
}
最后一件事是每次要运行动画时检查animationprogress
变量的值
if (false === animationInProgress) {
//run the animation
}
我希望你明白了。嗨,你解决这个问题了吗?