我的脚本存在一些我无法弄清楚的错误。单击“添加”时,使用右上方的黑框关闭该框,然后快速再次按“添加”,容器弹出框将再次淡出。我认为这是因为setTimeout
但不确定原因。
$('.add').stop().click(function() {
if ($(this).stop().hasClass("isHere") ) {
//nothing
} else {
$(".add").css({opacity: .8});
$(".container").css({opacity: 0}).show('fast').animate({opacity: 1}, 200);
$(this).addClass("isHere");
$(".container").hover(
function(){
clearTimeout(timer);
}, function()
{
timer = setTimeout(function(){
$('.container form').reset();
$(".container").animate({opacity: 0}).hide('fast');
$(".add").removeClass("isHere").animate({opacity:.4}, 300);
},380);
});
}
});
答案 0 :(得分:1)
尝试拨打self.clearTimeout(timer)
。我还想通过在窗口前加上变量名来指定它是一个窗口变量。这有助于新的开发人员可能看到代码理解它与窗口相关联。