jQuery removeClass动画无法正常工作

时间:2015-05-14 09:35:11

标签: jquery animation toggleclass

我正在执行onclick操作来执行此功能:

$('#generalMenu').stop(true, true).toggleClass('slideLeft', 1000)

并且slideLefttoggleClass上有addClass模式时会滑动,但removeClass上没有{ - 1}} - 我怎么才能让它同时工作?

3 个答案:

答案 0 :(得分:1)

我降落在这里是因为我无法将removeClass变为动画。 正如前面所指出的,addClass和removeClass不接受"持续时间"参数。 加载jqueryUI时,

即使我遇到了问题。

我通过改变css来解决我的问题:

.active { bottom: -150px; }

要:

.active { margin-top: 150px; }

之后,addClass和removeClass-methods都被动画为例外!

答案 1 :(得分:0)

您是否尝试过:

$('#generalMenu').toggleClass('slideLeft', 1000);

setTimeout(function(){
   $('#generalMenu').toggleClass('slideLeft');
},1000)

或代替onclick函数将代码更改为:

$('.element').click(function(){ 
   $('#generalMenu').toggleClass('slideLeft'); 
})

另一种方法是使用if / else条件:

$('.element').click(function(){ 
   if($('#generalMenu').hasClass('slideLeft')){
        $('#generalMenu').removeClass('slideLeft');
   } else {
      $('#generalMenu').addClass('slideLeft'); 
   }
});

答案 2 :(得分:0)

尝试添加transition-duration:1000;到#generalMenu的css。

#generalMenu { transition-duration: 1000; }