在实际操作中需要一些修复

时间:2013-08-14 23:41:36

标签: javascript jquery

我有一些代码,只需单击一个按钮即可进行div弹出。 我想要做的是当我点击按钮时它弹出一个新的div +一个不透明的背景div - 这个工作正常。但我试图不只是当我点击关闭按钮它将隐藏两个div,当我点击背景div它将隐藏它们。 当我点击按钮时,它都隐藏了。 但是当我点击背景div时,它只是隐藏背景并保留弹出窗口。 这是代码:

function closebox() 
{
    var boxID = $(this).attr("box_id");

    $("#opacback").animate( { "opacity": "0" }, 500, function()
    {
        $('#inside_image'+boxID)
            .removeClass()
            .addClass('animated flipOutX')
            .fadeOut('slow');  
        $("#opacback").hide(); 
    });    
}    

正如我所说,当我点击背景时,它只是删除背景div的不透明度但保留弹出窗口。当我点击关闭按钮时,它会同时执行这两项操作。 如何使用相同的函数?

这是背景div调用:

$('#opacback').live('click', closebox);

1 个答案:

答案 0 :(得分:0)

$(this)将根据点击的内容引用不同的内容。

如果您点击的一个或多个元素没有box_id属性,您的脚本就会中断。

如果您发布HTML,有人可能会提供更具体的答案。