Jquery 在动画之后移除类

Jquery 在动画之后移除类,jquery,onclick,addclass,removeclass,toggleclass,Jquery,Onclick,Addclass,Removeclass,Toggleclass,我有一个div,我正在尝试制作动画。div有一个名为peek_up applicated的动画类,我正在使用else/if添加一个动画,该动画在应用peek_up时降低div,如果未应用则升高div。我的问题是,我正在使用的类使peek_up类变得模糊,即使应用了peek_up。完成后,如何删除用于提升的动画 $('#box').on('click', function() { var $this = $(this); if ($this.hasClass('peek_down')) { $th

我有一个div,我正在尝试制作动画。div有一个名为peek_up applicated的动画类,我正在使用else/if添加一个动画,该动画在应用peek_up时降低div,如果未应用则升高div。我的问题是,我正在使用的类使peek_up类变得模糊,即使应用了peek_up。完成后,如何删除用于提升的动画

$('#box').on('click', function() {
var $this = $(this);
if ($this.hasClass('peek_down')) {
$this.toggleClass('peek_down').toggleClass('bob_down');
}
else{ 
$this.toggleClass('close_up');
}
});
bob_down降低div,close_up升高div(这样做会模糊peek_up)。 这是我的密码


您是用jQuery还是CSS3制作动画?“动画”是指简单地切换类吗?您需要发布完整的动画代码,以便人们能够理解您在这里试图做什么

jQuery animate()函数能够添加动画后期回调函数,您可以使用该函数实现所需的功能。例如:

$("#box").click(function() {
    $("#box").animate({
        top: "+=100"
    }, 5000, function() {
        // Post-animation callback function, add the required code here
    });
});

我使用setTimeout函数设法让动画按照我的预期运行,尽管出于某种原因,它似乎没有转换成JSFIDLE。它在我的浏览器中运行良好

$('#box').on('click', function (){
var $this = $(this);
if ($this.hasClass('peek_down')){
    $this.removeClass('peek_down')
         .addClass('bob_down');
} else{
    $this.removeClass('bob_down')
         .addClass('close_up')
         .addClass('peek_down')
         setTimeout(function(){
    $this.removeClass('close_up')},600);
}
});

你能做一个包括你的HTML,CSS和JS的网页吗。很难看出到底是什么问题。动画是CSS,我刚刚添加了一个JSFIDLE。问题是点击后看不到向下窥视的动画。它在Firefox中似乎运行良好。这是浏览器问题吗?我唯一能注意到的是,在点击两次后,它停止“跳动”,这就是你所说的“模糊”吗?不管是哪种方式,从你的标题我可以得出结论,你的做法是错误的,因为设置一个类并不能让你完全控制CSS动画,你应该使用jQuery animate()这实际上是一组动画的一部分,我正试图设置这些动画,以便根据需要在不同的网站上使用,因此是CSS。我希望保持一致的是“摆动”,即摆动、下降、上升、摆动、下降、上升。基本上,当特写动画结束时,你需要一种重置动画的方法。你不能避免在后期动画中将close_up类应用于div,因为“bobbing”不会继续。不幸的是,对于CSS3动画,您没有控制权,也没有对jQuery的回调,因此您需要使用jQuery animate()复制close_up和bob_down CSS3动画,然后使用回调函数重置div。难道不应该至少有一种调用removeClass的方法吗?可能会延迟删除,以便可以运行动画,然后将其删除。我还没有准备好接受这种方法的失败。在登录Firefox和Chrome之后,它工作得很好。然而,Safari是一个完全静态的分区。有什么建议吗?