设置过滤模块

时间:2013-08-30 00:26:40

标签: jquery popup

我的脚本存在一些我无法弄清楚的错误。单击“添加”时,使用右上方的黑框关闭该框,然后快速再次按“添加”,容器弹出框将再次淡出。我认为这是因为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);
        });
  }
});

工作副本:http://jsfiddle.net/F7v9R/4/

1 个答案:

答案 0 :(得分:1)

尝试拨打self.clearTimeout(timer)。我还想通过在窗口前加上变量名来指定它是一个窗口变量。这有助于新的开发人员可能看到代码理解它与窗口相关联。