点击图片,出现大图

摘要:
//图片,关键类参考pimg//单击图像调用$(function()){$(”.pimg“)。单击(function((){var_this=$(this));//设置当前pimg元素
//图片,重点class引用pimg
<img class="pimg" alt=""     src="http://t.zoukankan.com/picth/image/....." /></a>

//点击图片的调用
<script type="text/javascript">
    $(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");
    });
}

免责声明:文章转载自《点击图片,出现大图》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在VS2010中使用Crystal Reports我理解的HTTP请求走私(HTTP Request Smuggling)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Js添加、读取、删除cookie,判断cookie是否有效,指定domain域下主路径path下设置cookie,设置expires过期时间...

https://www.cnblogs.com/codeon/p/7403418.html 有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法。 正确方法是:判断是否存在名为username3的cookie,使用document.cookie.indexOf(“username3...

Ubuntu16.04下安装opengrok

Ubuntu16.04下安装opengrok 最好的文档参考如下网页地址:   https://blog.csdn.net/wd229047557/article/details/94571186?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2...

Git Bash 下操作文件及文件夹命令

1. cd : 切换到哪个目录下, 如 cd d:fff  切换 D 盘下面的fff 目录。   当我们用cd 进入文件夹时,我们可以使用 通配符*, cd f*,  如果E盘下只有一个f开头的文件夹,它就会进入到这个文件夹. 2. cd .. 回退到上一个目录, 注意,cd 和两个点点..之间有一个空格。 3. pwd : 显示当前目录路径。 4....

vue常用插件之图片预览

v-viewer(1.4.2) 非常实用的图片预览插件,支持旋转、缩放、翻转等操作 一、npm安装 npm i v-viewer -S 二、全局引入(main.js中) import 'viewerjs/dist/viewer.css' import Viewer from 'v-viewer' Vue.use(Viewer) //配置项 Viewer.s...

javascript ES6 新特性之 Promise,ES7 async / await

es6 一经推出,Promise 就一直被大家所关注。那么,为什么 Promise 会被大家这样关注呢?答案很简单,Promise 优化了回调函数的用法,让原本需要纵向一层一层嵌套的回调函数实现了横向的调用,也就是链式调用。 我们先来看下面的代码: 1 function getData(){ 2 setTimeout(()=>{ 3...

HTML之框架(frameest、ifram)

1.frameset 最外层的去掉body用frameset <frameset rows="100,*"> 上下排版拆开,第一行高度占100,第二行*占剩下的 ;cols="100,*"是左右拆开<frame src="http://t.zoukankan.com/页面1的地址" noresize="noresize" /> no...