单击内容时Lightbox将关闭

时间:2011-12-23 17:32:04

标签: javascript jquery lightbox jwplayer

我有一个带有jwplayer的灯箱,我也有链接,问题是,当我点击其中一个链接关闭灯箱并且永远不会进入链接时,几乎就像有一个事件预防当没有...时,灯箱上的功能...这是我的代码如何我得到任何帮助我可以解决这个问题。

由于

jQuery.fn.center = function () {
    this.css("position","fixed");
    this.css("top", ( $(window).height() - this.outerHeight() ) / 2 + "px");
    this.css("left", ( $(window).width() - this.outerWidth() ) / 2 + "px");
    return this;
}

jQuery.jwbox = {
    lightbox    :   null,
    player  : null,
    toggle  : function(context) {
        if (!$.jwbox.lightbox) {
                $.jwbox.lightbox = $(".jwbox_hidden", context);
                $.jwbox.center();
                $("#jwbox_background").fadeIn("fast");
                $.jwbox.lightbox.css("display","block")
                $.jwbox.center();
                $("#jwbox_background").fadeTo(0, 0.8);
                $("object", context).each(function(){
                    $.jwbox.player = document.getElementById(this.id);
                });
        } else if ((context.className == 'jwbox_content')) {
        } else {
            try {
                $.jwbox.player.sendEvent("STOP");
                $.jwbox.player = null;
            } catch (err) {
            }
            $.jwbox.lightbox.css("display","none");
            $.jwbox.lightbox = null;
            $("#jwbox_background").fadeOut("fast");
        }
    },
    center  : function() {
        if ($.jwbox.lightbox) {
            $.jwbox.lightbox.center();
        }
    }
}

$(document).ready(function () {
    $("body").append('<div id="jwbox_background">&nbsp;</div>');
    $(".jwbox").click(function () {$.jwbox.toggle(this); return false;});
    $("#jwbox_background").click(function () {$.jwbox.toggle(this); return false;});
    $(window).resize(function() {$.jwbox.center();});
});

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题。我通过切换到jQuery colorbox解决了这个问题。请参阅:http://jacklmoore.com/colorbox/#setting-overlayclose

答案 1 :(得分:0)

解决方案:

使用下载包中的jquery.lightbox-0.5文件

然后在此文件中搜索

// Assigning click events in elements to close overlay
$('#jquery-overlay,#jquery-lightbox').click(function() {
    _finish();
}); 

并将其全部删除。