图片放大预览功能

一、普通的图片放大功能

1、html

<div class="uploadImg">
     <img src="" class="exsectionImg" />
     <img src="" class="exsectionImg" />
</div>

<!--遮罩层-->
<div class="ansMasklayer"></div>

2、css

//默认图片样式
.exsectionImg {
    width: 1.96rem;
    height: 1.96rem;
    margin-right: 0.5rem;
}
//放大后的图片样式
.imgMaskShow {
    z-index: 10;
    position: fixed;
    top: 50%;
    left: 0;
    margin-top: -126px;
    width: 100%;
    height: 252px;
}

//遮罩层样式
.ansMasklayer {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    background-color: #363636;
    display: none;
}

3、js

//图片的放大
var exsectionImgItem = $('.exsectionImg');
//默认图片点击时切换样式 $(
'.exsectionImg').on('click',function() { for(var i=0; i<exsectionImgItem.length; i++) { $('.ansMasklayer').hide(); //移除放大的样式,添加默认图片样式 $(exsectionImgItem[i]).removeClass('imgMaskShow').addClass('exsectionImg'); } $(this).show(); $(this).removeClass('exsectionImg').addClass('imgMaskShow'); $('.ansMasklayer').show(); }); //点击遮罩层关闭 $('.ansMasklayer').click(function() { $(this).hide(); $(exsectionImgItem).removeClass('imgMaskShow').addClass('exsectionImg'); });

二、封装的图片放大功能 

1、存放图片的位置(html)

<div id="uploadImg"></div> //存放图片的位置

2、获取后台图片(js)

//判断图片是否存在,存在 获取后台图片
if(data[0].images != "") {
   var  arr=data[0].images.split(",");
   $("#uploadImg").html("");
   var str="";
   for(var i=0; i<arr.length; i++) {
        str+="<img alt='' class='exsectionImg' onclick=picZoom(this) src='"+urllogo+arr[i]+"'>";
   }
   $("#uploadImg").html(str);
}

3、封装的图片放大功能(js)

//详情页图片的放大缩小
function picZoom(obj) {
    $(obj).show();
    $(obj).removeClass('exsectionImg').addClass('imgMaskShow');
    $('.ansMasklayer').show();
    //点击遮罩层关闭
    clickPic(obj);
}
function clickPic(objs) {
    $('.ansMasklayer').click(function() {
        $(this).hide();
        $(objs).removeClass('imgMaskShow').addClass('exsectionImg');
    });
}
原文地址:https://www.cnblogs.com/dxt510/p/7813015.html