【发布时间】:2014-05-28 18:17:57
【问题描述】:
我正在尝试做的是在用户向上或向下滚动时移动元素。我在一个名为 goTo() 的函数中有这个机制。我还试图通过使用变量来跟踪用户的位置。当用户向上或向下滚动时,变量向上或向下加一。这是我的函数到目前为止的样子:
$(window).on('DOMMouseScroll mousewheel', function(event){
clearTimeout($.data(this, 'timer')); // NEW CODE
$.data(this, 'timer', setTimeout(function() { // NEW CODE
if( event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0 )
{
--curScl;
goTo(curScl);
} else {
++curScl;
goTo(curScl);
}
}, 250)); // NEW CODE
});
更新:根据@Bart Jedrocha 的建议,我添加了一个setTimeout 包装器,以防止curSel 的值随着每次滚动而飙升。但是,在执行滚动和元素移动之间存在延迟。感觉非常不自然。有没有办法不拖延地做到这一点?
【问题讨论】:
标签: jquery scroll mousewheel