我使用 jQuery .animate() 移动一个项目一次,但它似乎以 100px 的增量移动多次。是因为鼠标悬停了吗?
var ww = $(window).width();
$(document).on('mouseover', '#myTarget', function () {
var dp = $(this).offset().left;
if ((ww - dp) < 150) {
$('.myDiv.active').animate({left:'-=100px'},500);
}
});
最佳答案
将其更改为
$(document).on('mouseenter', '#myTarget', function () {
会更好。每次鼠标进入或离开该元素或其子元素之一时,都会触发一个 mouseover
事件。 mouseenter
不会发生这种情况。 example here显示了这一点。
参见this answer对于类似的问题以及所提供示例的来源。
关于jquery - 仅动画一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39880601/