Javascript简单实现点击图片放大展示

CSS样式

#outerdiv {
    position:fixed;
    top:0;
    left:0;
    background:rgba(0,0,0,0.7);
    z-index:999;
    width:100%;
    height:100%;
    display:none;
}
#innerdiv {
    position:absolute;
    left: calc(50% - 128px);
    top: calc(50% - 128px)
}
#bigimg {
    border:5px solid #fff;
}

HTML代码

<div id="outerdiv">
    <div id="innerdiv">
        <img id="bigimg" src="" />
    </div>
    <div id="deldiv" style="position: absolute;"><button type="button" id="delete_image" class="btn btn-khaki" style="width: 60px;">删除</button></div>
</div>

Javascript

pimg是自定义class名称,并不会对样式产生影响。

$(".pimg").click(function(){
    var src = $(this).attr("src");
    if(src.indexOf("border-rectangle.png") != -1) return false;
    $('#bigimg').attr("src", src);
    $('#delete_image').attr("onclick", "sateishosai.deleteImageTmp('#" + $(this).attr("id") + "')");

    var windowW = $(window).width();
    var windowH = $(window).height();

    var realWidth = $(this).prop("naturalWidth");
    var realHeight = $(this).prop("naturalHeight");

    var scale = 0.8;
    var imgWidth = realWidth;
    var imgHeight = realHeight;
    if (realWidth > windowW * scale) {
        imgWidth = windowW * scale;
        mgHeight = imgWidth / realWidth * realHeight;
        if (imgHeight > windowH * scale) {
            imgHeight = windowH * scale;
            imgWidth = imgHeight / realHeight * realWidth;
        }
    }
    if (realHeight > windowH * scale) {
        imgHeight = windowH * scale;
        imgWidth = imgHeight / realHeight * realWidth;
        if (imgWidth > windowW * scale) {
            imgWidth = windowW * scale;
                mgHeight = imgWidth / realWidth * realHeight;
        }
    }
    $('#bigimg').css("width",imgWidth);

    var w = (windowW - imgWidth) / 2;
    var h = (windowH - imgHeight) / 2;
    $('#innerdiv').css({"top":h, "left":w});
    $('#deldiv').css({"top" : h + imgHeight + 20, "left":windowW/2 - 30});
    $('#outerdiv').fadeIn("fast");
});

$('#outerdiv').click(function(){
    $(this).fadeOut("fast");
});

 

posted @ 2021-04-19 09:57  蝶花残梦  阅读(951)  评论(0编辑  收藏  举报
Live2D