Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript禁用鼠标滚轮X毫秒?_Javascript_Freeze_Mousewheel_Milliseconds - Fatal编程技术网

使用javascript禁用鼠标滚轮X毫秒?

使用javascript禁用鼠标滚轮X毫秒?,javascript,freeze,mousewheel,milliseconds,Javascript,Freeze,Mousewheel,Milliseconds,我有一个支持RoyalSlider和鼠标滚轮的网站 一切正常,但当我使用macbook(touchpad)时,问题是我在滚动时一次触发几个鼠标滚轮事件。所以基本上我想让脚本暂停一段时间(或者稍微少一点)来改变一张幻灯片 我需要的是一个javascript,每次鼠标滚轮被触发时(在向滑块发送1或-1后)它都会冻结x毫秒。一个带有回调和标志的计时器可以工作。开始滚动时,您设置了标志且不允许滚轮工作,请参阅关于如何禁用滚轮。当计时器启动时(大约1秒),您重置该标志,让此人再次滚动。有关如何设置带回拨的

我有一个支持RoyalSlider和鼠标滚轮的网站

一切正常,但当我使用macbook(touchpad)时,问题是我在滚动时一次触发几个鼠标滚轮事件。所以基本上我想让脚本暂停一段时间(或者稍微少一点)来改变一张幻灯片


我需要的是一个javascript,每次鼠标滚轮被触发时(在向滑块发送1或-1后)它都会冻结x毫秒。

一个带有回调和标志的计时器可以工作。开始滚动时,您设置了标志且不允许滚轮工作,请参阅关于如何禁用滚轮。当计时器启动时(大约1秒),您重置该标志,让此人再次滚动。有关如何设置带回拨的计时器的信息,请参见。我无法提供完整的代码示例,因为您没有向我们提供任何代码,但以下是解决方案。
滚动鼠标时,滚动动画开始。比如说,在事件处理程序之外的某个地方创建一个变量

var animationInProgress = false;
并在动画开始之前将其设置为
true
。然后,这个RoyalSlider插件必须有某种类型的
完整的
处理程序(我打赌它有-虽然是付费的)-一个参数,您可以在动画结束时放置一个要调用的函数。所以,你在那里放了一个类似的函数:

function() {
    animationInProgress = false;
}
最后一件事是每次要运行动画时检查
animationprogress
变量的值

if (false === animationInProgress) {
    //run the animation
}

我希望你明白了。

嗨,你解决这个问题了吗?