本文介绍如何在Layui框架中实现点击图片弹出预览窗口的功能。通过绑定onclick事件调用自定义函数,利用layer.open组件创建遮罩层并动态插入图片元素,支持指定宽高显示。同时提供另一种通过window.open直接打开新页面查看图片的简单方案,适用于不同场景需求。
Layui点击图片弹窗预览实现
直接展示相关代码实现。
具体代码如下:
<img src="123.png" width="20px" height="20px" class="layui-upload-img" onclick="previewImg(this)">
function previewImg(obj) {
var img = new Image();
img.src = obj.src;
//var height = img.height + 50; // 原图片大小
//var width = img.width; //原图片大小
var imgHtml = "<img src='" + obj.src + "' width='500px' height='500px'/>";
//弹出层
layer.open({
type: 1,
shade: 0.8,
offset: 'auto',
area: [500 + 'px',550+'px'], // area: [width + 'px',height+'px'] //原图显示
shadeClose:true,
scrollbar: false,
title: "图片预览", //不显示标题
content: imgHtml, //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
cancel: function () {
//layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', { time: 5000, icon: 6 });
}
});
}
//另外打开一个页面显示图片
function previewImg(obj) {
window.open(obj.src);
}
上述内容即为Layui中点击图片进行弹窗预览的完整实现方案,供开发者参考使用。