我正在使用jquery-mousewheel插件来触发一个功能。
当我调用moveit时,我会分离监听器并等到动画完成,然后重新连接监听器。
问题是当我重新附加它时,鼠标滚轮插件仍然在听一些鼠标/触控板的惯性,并重复调用moveit 。
我想在我的具体情况下,去抖动或限制函数调用不是好的解决方案,因为惯性仍然存在,我还希望立即附加侦听器以进行其他可能的moveit调用。
有没有办法通过完全重置鼠标滚轮事件来“消除惯性”,而不仅仅是分离它?
$(document).ready(function () {
var tween;
var slide = $('#slide');
function bodyListen () {
$('body').on('mousewheel.bodyscroll',
function (e, delta, deltaX, deltaY) {
e.preventDefault();
$('body').off('mousewheel.bodyscroll');
moveit();
});
}
function moveit () {
tween = TweenMax.to(slide, 0.8, {
marginLeft: 300,
onComplete: bodyListen
});
}
bodyListen();
});