点击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'); });
在这里查看