Javascript jQuery动画在一段时间后会中断

Javascript jQuery动画在一段时间后会中断,javascript,jquery,html,css,Javascript,Jquery,Html,Css,当我呆在我的div里时,如果我一次又一次地进出,动画将不再工作。。。因此,就像当我退出并再次返回动画时,当我在播放动画时,它不会再次启动动画 HTML: jQuery: $(document).ready(function () { $('.ani-bounce-slow').mouseenter(function () { $(this).addClass('bounce-slow'); }); $('.ani-bounce-slow').one('webkitAnimationEnd

当我呆在我的div里时,如果我一次又一次地进出,动画将不再工作。。。因此,就像当我退出并再次返回动画时,当我在播放动画时,它不会再次启动动画

HTML:

jQuery:

$(document).ready(function () {
$('.ani-bounce-slow').mouseenter(function () {
    $(this).addClass('bounce-slow');
});
$('.ani-bounce-slow').one('webkitAnimationEnd oanimationend msAnimationEnd animationend',
    function (e) {
        $(this).removeClass('bounce-slow');
    }
);
});

我认为您的问题在于您使用的是函数,而不是:

更改:

$('.ani-bounce-slow').one('webkitAnimationEnd...
致:

.1(事件[,数据],处理程序)
将处理程序附加到元素的事件。每个事件类型的每个元素最多执行一次处理程序

.on(事件[,选择器][,数据],处理程序)
将一个或多个事件的事件处理程序函数附加到所选元素


我认为您的问题在于您使用的是函数,而不是:

更改:

$('.ani-bounce-slow').one('webkitAnimationEnd...
致:

.1(事件[,数据],处理程序)
将处理程序附加到元素的事件。每个事件类型的每个元素最多执行一次处理程序

.on(事件[,选择器][,数据],处理程序)
将一个或多个事件的事件处理程序函数附加到所选元素


我认为您的问题在于您使用的是函数,而不是:

更改:

$('.ani-bounce-slow').one('webkitAnimationEnd...
致:

.1(事件[,数据],处理程序)
将处理程序附加到元素的事件。每个事件类型的每个元素最多执行一次处理程序

.on(事件[,选择器][,数据],处理程序)
将一个或多个事件的事件处理程序函数附加到所选元素


我认为您的问题在于您使用的是函数,而不是:

更改:

$('.ani-bounce-slow').one('webkitAnimationEnd...
致:

.1(事件[,数据],处理程序)
将处理程序附加到元素的事件。每个事件类型的每个元素最多执行一次处理程序

.on(事件[,选择器][,数据],处理程序)
将一个或多个事件的事件处理程序函数附加到所选元素


看起来您只需要在离开时删除类来停止动画,然后在回车时将其重新添加。这将使动画每次都发生

$('.ani-bounce-slow').mouseenter(function () {
    $(this).addClass('bounce-slow');
});
$('.ani-bounce-slow').mouseleave(function () {
    $(this).removeClass('bounce-slow');
});

如果希望动画在鼠标离开时继续,则需要检查动画是否完成,或者为动画的长度设置计时器

看起来,您只需删除类即可在左侧停止动画,并在回车时将其重新添加。这将使动画每次都发生

$('.ani-bounce-slow').mouseenter(function () {
    $(this).addClass('bounce-slow');
});
$('.ani-bounce-slow').mouseleave(function () {
    $(this).removeClass('bounce-slow');
});

如果希望动画在鼠标离开时继续,则需要检查动画是否完成,或者为动画的长度设置计时器

看起来,您只需删除类即可在左侧停止动画,并在回车时将其重新添加。这将使动画每次都发生

$('.ani-bounce-slow').mouseenter(function () {
    $(this).addClass('bounce-slow');
});
$('.ani-bounce-slow').mouseleave(function () {
    $(this).removeClass('bounce-slow');
});

如果希望动画在鼠标离开时继续,则需要检查动画是否完成,或者为动画的长度设置计时器

看起来,您只需删除类即可在左侧停止动画,并在回车时将其重新添加。这将使动画每次都发生

$('.ani-bounce-slow').mouseenter(function () {
    $(this).addClass('bounce-slow');
});
$('.ani-bounce-slow').mouseleave(function () {
    $(this).removeClass('bounce-slow');
});

如果希望动画在鼠标离开时继续,则需要检查动画是否完成,或者为动画的长度设置计时器

所以你想知道的是,每次你进入div,它都会反弹,但只有一次?在你离开并回来进行悬停后,它会再次反弹,当你在上面时只反弹一次。是吗?是的,但当我呆在里面直到动画结束,然后再向外和向内悬停时,动画就不会再开始了@请阅读。这就是你如何将问题标记为已解决,而不是通过更改标题。@Quentin我两个都做了,伙计。这是为那些有同样问题的人准备的,他们用谷歌搜索它,这样他们就可以得到这篇文章,从“已解决”开始,这样他们就知道解决方案在这里;)所以你想知道的是,每次你进入div,它都会反弹,但只有一次?在你离开并回来进行悬停后,它会再次反弹,当你在上面时只反弹一次。是吗?是的,但当我呆在里面直到动画结束,然后再向外和向内悬停时,动画就不会再开始了@请阅读。这就是你如何将问题标记为已解决,而不是通过更改标题。@Quentin我两个都做了,伙计。这是为那些有同样问题的人准备的,他们用谷歌搜索它,这样他们就可以得到这篇文章,从“已解决”开始,这样他们就知道解决方案在这里;)所以你想知道的是,每次你进入div,它都会反弹,但只有一次?在你离开并回来进行悬停后,它会再次反弹,当你在上面时只反弹一次。是吗?是的,但当我呆在里面直到动画结束,然后再向外和向内悬停时,动画就不会再开始了@请阅读。这就是你如何将问题标记为已解决,而不是通过更改标题。@Quentin我两个都做了,伙计。这是为那些有同样问题的人准备的,他们用谷歌搜索它,这样他们就可以得到这篇文章,从“已解决”开始,这样他们就知道解决方案在这里;)所以你想知道的是,每次你进入div,它都会反弹,但只有一次?在你离开并回来进行悬停后,它会再次反弹,当你在上面时只反弹一次。是吗?是的,但当我呆在里面直到动画结束,然后再向外和向内悬停时,动画就不会再开始了@请阅读。这就是你如何将问题标记为已解决,而不是通过更改标题。@Quentin我两个都做了,伙计。这是为那些有同样问题的人准备的,他们用谷歌搜索它,这样他们就可以得到这篇文章,从“已解决”开始,这样他们就知道解决方案在这里;)他是对的。。。只会在第一次移除它。问题并不是非常清楚到底需要调整什么,但我喜欢这个结论。他是对的。。。只会在第一次移除它。问题并不是非常清楚到底需要调整什么,但我喜欢这个结论。他是对的。。。只会在第一次移除它。这个问题在w上不是非常清楚