点击function后回滚类

我在主div中有这么多div,很难精确选择div。 假设像这样:

.....

因此,使用我的标记,我可以选择以下类: .myclass

首先,我要删除类myclass如下所示: $('.myclass').removeClass('myclass');

接下来我要添加添加相同的类

所以我试着这样:

 $('.thisclass').addClass('myclass').removeClass('thisclass'); $('.myclass').addClass('thisclass').removeClass('myclass'); 

但在开/关点击function内

你可以看到这个小提琴没有做我想做的事。

所以我的关键问题是如何在点击function之后回滚上一课程。 我需要删除上一课并点击后

就像mouseenter和mouseleave一样,但我完全需要(’click’)

你的意思是这样的:

 $('#clickthis').on('click', function(){ $('.thisclass').addClass('myclass').removeClass('thisclass'); //call this function later, after the 'click' event has been handled : setTimeout(function(){ $('.myclass').addClass('thisclass').removeClass('myclass'); }, 0); }); 

你不应该使用setTimeout ,你应该使用.animate()函数的complete回调:

 $(...).animate( ..., function(){ //this function will be called once the animation is finished $('.myclass').addClass('thisclass').removeClass('myclass'); // add any action you want to take on animation's end }) 

所有jQuery的效果函数 (例如: fadeIn , slideToggle等等)都接受complete回调。

可能这会对你有所帮助

 $('#clickthis').on('click', function(){ $('.thisclass, .myclass').toggleClass('myclass thisclass'); }); 

在这里查看