这个问题在这里已有答案:
我试图做的显然是针对一个特定的“gridWrap”元素(一个正在悬停的元素)并在500ms后删除一个类但它似乎不起作用。
这就是我所拥有的
$(".gridWrap").mouseleave(function(){
setTimeout(function(){
$(this).find('.gridOverlay').removeClass('active');
}, 500);
$(this).find('.viewSite').removeClass('bounceInDown').addClass('bounceOutUp');
});
这工作得很好,但我需要延迟“活动”类删除:
$(".gridWrap").mouseleave(function(){
$(this).find('.gridOverlay').removeClass('active');
$(this).find('.viewSite').removeClass('bounceInDown').addClass('bounceOutUp');
});
如前所述,此上下文在超时功能中更改。试试这个:
$(".gridWrap").mouseleave(function(){
var self = $(this);
setTimeout(function(){
self.find('.gridOverlay').removeClass('active');
}, 500);
$(this).find('.viewSite').removeClass('bounceInDown').addClass('bounceOutUp');
});
在'settimeout'之前为它创建一个变量,它运行良好