最近在做一个帮助文档,想做一个点击图片放大的功能,于是使用layui的弹出层,代码如下

/*
打开弹出层*/
function openLayer(imgUrl) {var imgUrl = imgUrl;layui.use('layer', function () {var layer = layui.layer;layer.open({type: 1,title: false,offset: 'auto',area: ['auto', 'auto'],shadeClose: true,content: '<div><img style="max-width: 1450px;max-height: 800px" src="' + imgUrl + '"></div>'});});
}

但是每次刷新页面后第一次打开弹出层,弹出层总是水平在左

第二次打开时就能居中

解决办法:在js中获取图片的真实大小

function openLayer(imgUrl) {var imgUrl = imgUrl;getImageWidth(imgUrl,function(w,h){layui.use('layer', function(){var layer = layui.layer;layer.open({type: 1,title:false,offset: 'auto',area: [w+'px',h+'px'],shadeClose:true,content: '<div><img style="max-width: 1450px;max-height: 800px" src="'+imgUrl+'"></div>'});});});
}
// 获取图片真实高度
function getImageWidth(url,callback) {var img = new Image();img.src = url;// 如果图片被缓存,则直接返回缓存数据if (img.complete) {callback(img.width, img.height);} else {img.onload = function () {callback(img.width, img.height);}}
}

layui弹出层第一次打开不居中,第二次才居中相关推荐

  1. 模拟layui弹出层

    以前觉得自己手写一个类似layui的弹出层是挺遥远的事,因为完全没有头绪,即便在layui官网知道layui使用的都是C3动画 之前试过控制width:0;height:0来做动画,结果惨不忍睹,直到 ...

  2. Layui 弹出层插件

    Layui 弹出层插件 开发工具与关键技术: Visual Studio 2015 – Layui 作者:廖亚星 撰写时间:2019年 6 月4日 这段时间在做项目页面的搭建,在页面的操作中,会出现很 ...

  3. layui弹出层html,layui弹出层效果实现代码

    本文实例为大家分享了layui弹出层的具体代码,供大家参考,具体内容如下 弹出层 大部分演示都在layer独立组件的官网,与内置的layer模块,用法是完全一致的 特殊例子 Tips:为了更清晰演示, ...

  4. layui弹出层使用方法总结

    layui的模态窗口很强大,但是使用的时候要声明很多东西,并且对于窗口之间的参数传递也没有做具体的说明,所以基于layui弹出层的api进行了一些简单的封装,使用起来更加顺手,先上代码 functio ...

  5. layui弹出层:使用icon图标小结

    文章目录 layui弹出层:icon图标小结 表格示下: 调用代码 · 效果图 · 示下: layui弹出层:icon图标小结 layui的弹框插件layer中,有很多不同场景需要的弹框icon图标, ...

  6. layui弹出层:皮肤扩展(文档解读)

    layui弹出层:皮肤扩展(文档解读) layui弹出层:样式自定义 官方文档:https://layer.layui.com/ 皮肤扩展 · 官方教程: 官方文档:https://layer.lay ...

  7. layui弹出层:倒计时后自动关闭(含代码、案例)

    layui弹出层:倒计时后自动关闭(含代码.案例) 问题描述: 如何设定倒计时? 如何在自动倒计时结束后关闭弹框: 如何自定义"按钮文字"文案: 如何在关闭后,执行函数事件: 如何 ...

  8. layui弹出层之layer.open弹出iframe窗口·

    layui弹出层之layer.open弹出iframe窗口· layer.open弹出iframe窗口 [1]该功能为案例,弹出iframe窗口显示上传数据 由于layui的弹出层每次执行layer. ...

  9. 如何更改layui弹出层样式

    首先引入插件: js: <script src="./layui/src/layui.js"></script> 然后设置layui弹出层内容: layer ...

最新文章

  1. C++知识点53——虚继承
  2. 网球hcc http catcher使用方法以及规则分享
  3. JQuery窗口拖动效果
  4. android中的AIDL进程间通信
  5. SQL SERVER 常用日期计算
  6. 数据采集技术python网络爬虫答案_高校邦网络数据采集与Python爬虫【带实验】章节答案...
  7. mysql trace工具_100% 展示 MySQL 语句执行的神器-Optimizer Trace
  8. WinAPI: midiOutGetID - 获取输出设备 ID
  9. 《程序员代码面试指南》第二章 链表问题 反转部分单向链表
  10. Maven错误 diamond operator is not supported in -source 1.5 (use -source 7 or higher to enable diamond
  11. 今日头条收购锤子?ofo 半月退 24 万户押金;斗鱼索赔主播 1.5 亿元 | 极客头条...
  12. VB取得TextBox、RichTextBox光标所在的行和列(支持汉字)
  13. 蓝桥杯 ADV-110 算法提高 温度转换
  14. 教学管理系统数据库设计Mysql_教务管理系统数据库设计方案.docx
  15. 《C++ Concurrencyin Action》第10章--多线程程序的测试和调试
  16. Java根据自定义模板生成Word
  17. 程序员代码面试指南刷题--第五章.翻转字符串(1)
  18. S7COMM协议分析
  19. 两大顶尖漏洞利用工具包消失 老三“中微子”上位
  20. 这一波区块链风口,你怎么看?

热门文章

  1. 速学堂第四章代码练习题
  2. java-web 常见的缓存技术
  3. android坦克大战源代码,android的坦克大战 - 源码下载|源代码 - 源码中国
  4. Mac IDEA 最常用快捷键
  5. IT项目管理实践经验2
  6. 北京联通sip话机安装指导
  7. Spring Boot上传文件报UT005023 MultipartException NoSuchFileException
  8. 【元胞自动机】元胞自动机单车道交通流(时空图)【含Matlab源码 1681期】
  9. Java String对象的经典问题(new String())
  10. 【NX二次开发】单位化向量