【发布时间】:2014-09-20 16:37:48
【问题描述】:
当用户稍微移动鼠标时,我只需要触发一次动作,并且在页面的哪个部分并不重要。如果鼠标不移动,则不应触发动作。当鼠标移动时(可能是页面完全加载后 3 分钟),那么该动作应该只发生一次。
这就是我现在拥有的:
$(document).one('mousemove', function() {
$('.front #main .block-content').animate({opacity : 0.3}, 200);
});
问题是页面完全加载后,无论我用鼠标做什么(停止或移动)都会触发动画。
我希望我已经足够清楚,但如果这还不够,我可以尝试进一步澄清。有没有我想要实现的解决方案?
谢谢。
【问题讨论】:
-
问题可能是事件排队
-
给你 :) 同样的问题(和解决方案)在这里:stackoverflow.com/questions/3129148/…
-
@ArunPJohny 页面加载时似乎触发了 mousemove 事件?
-
谢谢你,达伦,你指给我的解决方案解决了这个问题。但我不得不适应它。我已经做了一个 console.log 来计算在页面加载时触发 mousemove 的次数,它达到了 3 的计数。我在 5 上设置了一个阈值以开始执行鼠标移动操作。也许有更好的解决方案,但这是有效的。如果你想发帖作为答案,我会接受。
-
@MarcosBuarque - 我不会费心给出答案 - 我只会复制/粘贴:) - 也许在你的答案中添加一个 Edit 并带有解决方案的链接?
标签: javascript jquery