【发布时间】:2016-04-09 07:52:04
【问题描述】:
我正在尝试模仿以下网站的功能:www.verbaasd.net。每个滚动的“会话”只会触发一个动作。
每次用户向下滚动时都会发生一个动作,具体取决于变量计数的状态。我只希望每次滚动发生一次。例如,如果用户有一台带触摸板的 Macbook,它将触发多次非常大。计数会立即从 1 变为 4。有没有办法设置超时或其他东西,以便在变量计数增加或减少 1 时停止 0.5 秒?
当前代码:
var count = 1;
$(window).on('mousewheel DOMMouseScroll', function(e) {
if (e.originalEvent.wheelDelta / 120 > 0) {
count -= 1;
} else {
count += 1;
}
if (count < 1) count = 1;
if (count > 4) count = 4;
switch (count) {
case 1:
// do something
break;
case 2:
// do something
break;
case 3:
// do something
break;
case 4:
// do something
break;
}
$(".cd-background-wrapper").attr("data-slide", count);
});
【问题讨论】:
-
谢谢!无法让 Underscore 工作,但 lodash 运行良好。谢谢!
-
我在这里有一个不需要整个库的答案。 stackoverflow.com/questions/34822077/…
标签: javascript jquery scroll touchpad