0

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

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

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

4

2 回答 2

2

带有回调和标志的计时器可以工作。当您开始滚动时,您设置了标志并且不允许滚轮起作用,请参阅此答案以了解如何禁用滚轮。当计时器触发时(1 秒左右),您重置标志以让该人再次滚动。有关如何设置带有回调的计时器,请参阅此页面

于 2013-10-31T18:38:29.787 回答
0

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

var animationInProgress = false;

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

function() {
    animationInProgress = false;
}

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

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

我希望你能明白。

于 2013-10-31T18:49:35.050 回答