首页 > 其他分享 >2021-03-31 H5页面点击图片自动全屏代码

2021-03-31 H5页面点击图片自动全屏代码

时间:2022-12-27 16:58:42浏览次数:62  
标签:03 imgWidth src 31 windowW H5 scale var imgHeight

2021-03-31 H5页面点击图片自动全屏代码

js代码如上

<script type="text/javascript">
            $(function() {
                $(".layui-tab-content div img").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");
                });
            }
        </script>

html 代码:

<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>
</div>

标签:03,imgWidth,src,31,windowW,H5,scale,var,imgHeight
From: https://www.cnblogs.com/webSnow/p/17008413.html

相关文章

  • Selenium31-基本业务数据断言
    断言静态文本元素里的静态文本:就是指开始和结束标记之间的文本例如:文本定位到元素:一般是双标记的元素,目标文本位于两个<>之间示例:匿名用户然后获取元素对象的......
  • H5页面判断是否是微信小程序打开
    H5项目接入微信授权登录,通过UA区分微信还是普通浏览器:let ua = navigator.userAgent.toLowerCase();let isWeixin = ua.indexOf('micromessenger') !== -1;......
  • 'parent.relativePath' of POM com.qbb:log_record_elegant:1.0-SNAPSHOT points at
    完整的错误:'parent.relativePath'ofPOMcom.qbb:log_record_elegant:1.0-SNAPSHOT(F:\QbbCode\qiu_code\log_record_elegant\pom.xml)pointsatcom.qbb:qiu_codein......
  • k03_计算机基础_dos命令行
    一、Windows自带的命令行操作界面(DOS命令)二、简介在学习java的时候,我们需要下载jdk,然后安装jdk,然后配置环境变量,然后会用命令行窗口检验是否安装成功,尽管最新的jdk版本......
  • H5跳转微信小程序-成功案例(VUE)(踩坑无数)
    H5跳转微信小程序-成功案例(VUE)(踩坑无数)TuoMei已于2022-07-2909:52:22修改准备工作根据官方提供的资料需准备以下几点:1、已认证的服务号2、绑定JS接口安全域名......
  • 判断H5页面环境在微信中还是小程序中
    判断H5页面环境在微信中还是小程序中用小程序提供的wx.miniProgram.getEnv可以获取环境参数<scripttype="text/javascript"src="https://res.wx.qq.com/open/js/jwe......
  • vue3_03ref操作复杂类型
    ref也可以将复杂类型的数据转换为响应式数据,使用方法和处理简单类型数据一样leta=ref(复杂类型数据)a.value.xxx<template><p>{{objref.num}}</p><button@c......
  • utf-8 - 如何修复 'character map file ` UTF-8' not found'
    正在设置一个UBIrhel8容器。我需要执行这个命令:localedef-fUTF-8-ien_USen_US.UTF-8失败了:charactermapfile`UTF-8'notfound:Nosuchfileordirect......
  • k03_计算机基础_dos命令行
    一、Windows自带的命令行操作界面(DOS命令)二、简介在学习java的时候,我们需要下载jdk,然后安装jdk,然后配置环境变量,然后会用命令行窗口检验是否安装成功,尽管最新的jdk版本......
  • SoapUI: The World's Most Popular API Testing Tool
    官网地址:https://www.soapui.org/     https://en.wikipedia.org/wiki/SoapUI SoapUI isan open-source webservicetestingapplicationfor Simple......