分享好友 教程首页 教程搜索 频道列表

js实现图片点击弹出居中放大效果

2019-01-05 14:4916490
+关注29
核心提示:js实现图片点击在当前页面弹出居中放大效果

HTML代码(空格请自行删除)

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>document</title>
 </head>
 <body>
	<div>
		<img height="100" width="100" src="img/0.jpg" class="pimg"/>
		<img height="100" width="100" src="img/0.jpg" class="pimg"/>
		<img height="100" width="100" src="img/0.jpg" class="pimg"/>
	</div>
 
	<div id="outerdiv" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:2;width:100%;height:100%;display:none;">
    <div id="innerdiv" style="position:absolute;">
        <img id="bigimg" style="border:5px solid #fff;" src="" />
    </div>
	< script src=js/jquery. js></script >
	< script src=js/pimg. js></script >
 </body>
</html>

bigimg.js代码

$(function(){  
        $(".pimg").click(function(){  
            var _this = $(this);//将当前的pimg元素作为_this传入函数  
            imgShow("#outerdiv", "#innerdiv", "#bigimg", _this);  
        });  
    });  
 
    function imgShow(outerdiv, innerdiv, bigimg, _this){  
        var src = _this.attr("src");//获取当前点击的pimg元素中的src属性  
        $(bigimg).attr("src", src);//设置#bigimg元素的src属性  
      
              
        $("<img/>").attr("src", src).load(function(){  
            var windowW = $(window).width();//获取当前窗口宽度  
            var windowH = $(window).height();//获取当前窗口高度  
            var realWidth = this.width;//获取图片真实宽度  
            var realHeight = this.height;//获取图片真实高度  
            var imgWidth, imgHeight;  
            var scale = 0.8;//缩放尺寸,当图片真实宽度和高度大于窗口宽度和高度时进行缩放  
              
            if(realHeight>windowH*scale) {//判断图片高度  
                imgHeight = windowH*scale;//如大于窗口高度,图片高度进行缩放  
                imgWidth = imgHeight/realHeight*realWidth;//等比例缩放宽度  
                if(imgWidth>windowW*scale) {//如宽度扔大于窗口宽度  
                    imgWidth = windowW*scale;//再对宽度进行缩放  
                }  
            } else if(realWidth>windowW*scale) {//如图片高度合适,判断图片宽度  
                imgWidth = windowW*scale;//如大于窗口宽度,图片宽度进行缩放  
                            imgHeight = imgWidth/realWidth*realHeight;//等比例缩放高度  
            } else {//如果图片真实高度和宽度都符合要求,高宽不变  
                imgWidth = realWidth;  
                imgHeight = realHeight;  
            }  
                    $(bigimg).css("width",imgWidth);//以最终的宽度对图片缩放  
              
            var w = (windowW-imgWidth)/2;//计算图片与窗口左边距  
            var h = (windowH-imgHeight)/2;//计算图片与窗口上边距  
            $(innerdiv).css({"top":h, "left":w});//设置#innerdiv的top和left属性  
            $(outerdiv).fadeIn("fast");//淡入显示#outerdiv及.pimg  
        });  
          
        $(outerdiv).click(function(){//再次点击淡出消失弹出层  
            $(this).fadeOut("fast");  
        });  
    }

本文标签: #图片 #弹窗 #放大 #居中
整理员:xiaohei
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

HTML5+CSS3+JS实例之带标题描述的圆角图片手风琴效果

    圆角图片手风琴效果

小黑 HTML教程2024-03-26

在DESTOON系统模板开发中imgurl函数的用法说明

    imgurl函数是为了让在前端模板中没有标题图的信息默认一张系统自带的nopic图,总结:​imgurl函数就是为了页面好看,自动补充而用

小黑 随手记2024-03-10

JQ实例-根据select的data-*属性更改图片img的src链接

    用代码放进HTML中测试

小黑 JavaScript教程2023-06-28

下一篇
我来说两句
抢沙发