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

时间:2013-10-31 18:24:03

标签: javascript freeze mousewheel milliseconds

我有一个支持RoyalSlider和Mousewheel的网站。 http://www.linus.de/mark/drei.php

一切正常,但是当我使用我的macbook(触摸板)时,我会在滚动时触发几个鼠标滚轮事件。所以基本上我希望脚本暂停一段时间(或者更少)一张幻灯片改变...

我需要的是一个javascript,每当它被触发时(在向滑块发送1或-1之后)将鼠标滚动冻结x毫秒... ...

2 个答案:

答案 0 :(得分:2)

具有回叫和标志的计时器可以正常工作。当您开始滚动时设置标志并且不允许滚轮起作用,请参阅This Answer有关如何禁用滚轮的信息。当计时器触发(大约1秒钟)时,您重置标志以让该人再次滚动。有关如何设置带回叫的计时器,请参阅This page

答案 1 :(得分:0)

我不能给你一个完整的代码示例,因为你没有给我们任何代码,但这是解决方案 滚动鼠标时,会开始滚动动画。在事件处理程序之外的某个地方创建一个变量,比如说

var animationInProgress = false;

并在动画开始之前将其设置为true 。然后,这个RoyalSlider插件必须有某种complete处理程序(我打赌它有 - 它已经付费) - 一个参数,你可以在动画结束时放置一个函数。所以,你在那里放了一个类似的功能:

function() {
    animationInProgress = false;
}

最后一件事是每次要运行动画时检查animationInProgress变量的值

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

我希望你明白这一点。