http://codepen.io/umbriel/pen/XJMgYX
嗨,我有一个产品网格。当您单击绿色添加按钮时,我会在每个相应的网格项上显示工具提示。除非再次单击添加按钮,否则此工具提示将在3秒后自动消失,最终会重置超时。因此,可以将工具提示保持较长时间。
现在只有在一个瓷砖上才能正常工作。但是,当您转到下一个磁贴并在上一个磁贴超时期间单击“添加”按钮时,前一个磁贴的工具提示将永远保持可见,这不是预期的。我希望它也消失。
无论你点击哪个添加按钮,是否仍然按预期工作?
谢谢
$purchasePlus.on('click', function(){
var $confirmationBadge = $(this).parent().parent().parent().find('.tile__promotion');
$confirmationBadge.addClass('flip');
clearTimeout(timer);
timer = setTimeout(function(){
$confirmationBadge.removeClass('flip');
},1500);
$(this).css({
'min-width':'40px'
}).addClass('tile__animate').html('+');
var $text = $(this).siblings().find('.purchase--input');
$text.val(parseInt($text.val(), 10) + 1);
setTimeout(function() {
$text.removeClass('focus');
}, 2000);
if($text.val() > 1) {
$text.addClass('focus');
$(this).siblings().find('.purchase--input').addClass('focus');
}
});
答案 0 :(得分:1)
可能有更好的方法,但您可以检查当前目标是否与之前的目标相同。如果是,请清除间隔。如果不是,请将previousTarget
设置为当前值:
if(e.target == previousTarget){
clearTimeout(timer);
}else{
previousTarget = e.target;
}