繁体   English   中英

自定义Java灯箱

[英]Custom Javascript Light-box

我正在尝试为网站上的图像创建自己的灯箱。 是的,我知道这里有lightbox2,它是免费的,但我喜欢挑战。 我在灯箱本身的点击事件上遇到了问题,我正在尝试将其删除灯箱,但是点击事件似乎没有注册,并且我在Google chrome的开发工具中没有任何错误。 这是我的代码:

$(document).ready(function(){
    $(".lbox").click(function(){
        $("body").append("<DIV class='lbox_container'><DIV class='img_container'><IMG src='" + this.src + "'/></DIV></DIV>");
        $(".lbox_container").width($(document).width()).height($(document).height());
    });
    $(".lbox_container").click(function(){
        $(".lbox_container").remove();
    });
});

代替

$(".lbox_container").click(function(){
    $(".lbox_container").remove();
});

用这个:

$("body").on('click','div.lbox_container', function(){
    $(".lbox_container").remove();
});

您需要执行此操作,因为jQuery不会在DOM中的新项目上注册.click()事件,而仅在调用document.ready函数时在页面上存在的项目注册。

将lbox_container添加到页面后,您需要为其设置点击状态-在第一次点击内移动bind事件应该起作用。

$(document).ready(function(){
    $(".lbox").click(function(){
        $("body").append("<DIV class='lbox_container'><DIV class='img_container'><IMG src='" + this.src + "'/></DIV></DIV>");
        $(".lbox_container").width($(document).width()).height($(document).height());

        $(".lbox_container").click(function(){
             $(".lbox_container").remove();
        });
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM