利用dom的垂直分层实现图片的点击放大和缩小(手机上使用的效果较好),在图片放大的时候同时禁止页面的滑动,如果在web端的话可以不禁止屏幕的滚动(因为图片放大是将图片的宽度变成100%,在web上长度可能会超出屏幕 的高度)。
js部分:
function clickToBigImg(){//绑定图片函数//var clickImgId = $(this).attr("id");var imgsrc = $(this).attr("src");//alert (imgsrc);var opacityBottom = '<div id="opacityBottom" style="display: none"><img class="bigImg" src="'+ imgsrc +'" ></div>';$(document.body).append(opacityBottom);toBigImg();//变大函数}function toBigImg(){$("#opacityBottom").addClass("opacityBottom");$("#opacityBottom").show();$("html,body").addClass("none-scroll");//下层不可滑动$(".bigImg").addClass("bigImg");/*隐藏*/$("#opacityBottom").bind("click",clickToSmallImg);$(".bigImg").bind("click",clickToSmallImg);var imgHeight = $(".bigImg").prop("height");if(imgHeight < h){$(".bigImg").css({"top":(h-imgHeight)/2 + 'px'});}else{$(".bigImg").css({"top":'0px'});}function clickToSmallImg() {$("html,body").removeClass("none-scroll");$("#opacityBottom").remove();}};
css部分:
/*全屏显示大图*/.opacityBottom{width: 100%;height: 100%;position: fixed;background:rgba(0,0,0,0.8);z-index:1000;top: 0;left: 0}.none-scroll{overflow: hidden;height: 100%;}.bigImg{width:100%;left:0%;top:10%;position:fixed;z-index: 10001;}
附效果图:
如果觉得《前端jquery实现图片点击放大缩小》对你有帮助,请点赞、收藏,并留下你的观点哦!