放大图像灯箱

时间:2015-03-23 03:27:02

标签: javascript jquery jquery-plugins

我正在寻找一个灯箱jQuery插件,它可以像Highslide http://highslide.com/#examples一样扩展点击的图像,但它必须很小(Highslide的核心是57kb)并且响应迅速。 它可以很简单。我不需要画画等。

你知道好的选择吗?

1 个答案:

答案 0 :(得分:1)

<强> jsBin demo

所有你需要的:
data-darkbox添加到您的图片中:

<img data-darkbox src="image.jpg">

<强> CSS:

/* DARKBOX STYLES */
#darkbox{
    position:fixed;
    z-index:9999;
    background:rgba(0,0,0,0.8) no-repeat none 50%/contain;
    box-shadow:0 0 0 3000px rgba(0,0,0,0.8);
    opacity:0; visibility:hidden;
}
#darkbox.on{ 
    opacity:1; visibility:visible;
    height:90% !important; width:90% !important;
    left:5% !important; top:5% !important;
}
#darkbox:after{
    position:absolute;
    right:0; top:0;
    font-size:2em;
    content:"\2A2F";
    color:#fff;
    cursor:pointer;
}

<强>的jQuery

var $darkbox = $("<div/>",{id:"darkbox"}).on("click", function(){
    $(this).removeClass("on");
}).appendTo("body");
$('img[data-darkbox]').css({cursor:"pointer"}).on("click",function(){
    var o=this.getBoundingClientRect();
    $darkbox.css({
        transition:"0s",
        backgroundImage:"url("+this.src+")",
        left:o.left, top:o.top,
        height:this.height, width:this.width
    });
    setTimeout(function(){
        $darkbox.css({transition:".8s"}).addClass("on"); 
    },5);
});