下载
npm install viewerjs
原生引用
<link href="/path/to/viewer.css" rel="stylesheet"> <script src="/path/to/viewer.js"></script>
option参数
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
inline | 布尔值 | false | 启用 inline 模式 |
button | 布尔值 | true | 显示右上角关闭按钮(jQuery 版本无效) |
navbar | 布尔值/整型 | true | 显示缩略图导航 |
title | 布尔值/整型 | true | 显示当前图片的标题(现实 alt 属性及图片尺寸) |
toolbar | 布尔值/整型 | true | 显示工具栏 |
tooltip | 布尔值 | true | 显示缩放百分比 |
movable | 布尔值 | true | 图片是否可移动 |
zoomable | 布尔值 | true | 图片是否可缩放 |
rotatable | 布尔值 | true | 图片是否可旋转 |
scalable | 布尔值 | true | 图片是否可翻转 |
transition | 布尔值 | true | 使用 CSS3 过度 |
fullscreen | 布尔值 | true | 播放时是否全屏 |
keyboard | 布尔值 | true | 是否支持键盘 |
interval | 整型 | 5000 | 播放间隔,单位为毫秒 |
zoomRatio | 浮点型 | 0.1 | 鼠标滚动时的缩放比例 |
minZoomRatio | 浮点型 | 0.01 | 最小缩放比例 |
maxZoomRatio | 数字 | 100 | 最大缩放比例 |
zIndex | 数字 | 2015 | 设置图片查看器 modal 模式时的 z-index |
zIndexInline | 数字 | 0 | 设置图片查看器 inline 模式时的 z-index |
url | 字符串/函数 | src | 设置大图片的 url |
data-original是大图的url,src是小图的url
var viewer = new Viewer(document.getElementById('image'), {url: 'data-original'})
<div> <img id="image" data-original="picture.jpg" src="picture.jpg" alt="Picture"> </div>
<div> <ul id="images"> <li><img src="picture-1.jpg" alt="Picture 1"></li> <li><img src="picture-2.jpg" alt="Picture 2"></li> <li><img src="picture-3.jpg" alt="Picture 3"></li> </ul> </div>
import Viewer from 'viewerjs/dist/viewer.min.js'; open(url: string | Array<string>, index?: number) { let image; if (typeof url === 'string') { image = new Image(); image.src = url; } else if (url instanceof Array) { image = document.createElement('ul'); url.forEach(src => { const li = document.createElement('li'); image.appendChild(li); const img = new Image(); img.src = src; li.appendChild(img); }); } const viewer = new Viewer(image, { hidden: function () {
viewer.destroy();
}, // 摧毁容器,不摧毁会有些小bug
title: false,
toolbar: {
zoomIn: { show: true, size: 'large' },
zoomOut: { show: true, size: 'large' },
oneToOne: { show: true, size: 'large' },
reset: { show: true, size: 'large' },
prev: { show: true, size: 'large' },
next: { show: true, size: 'large' },
rotateLeft: { show: true, size: 'large' },
rotateRight: { show: true, size: 'large' },
flipHorizontal: { show: true, size: 'large' },
flipVertical: { show: true, size: 'large' },
},
transition: false,
navbar: false,
}); viewer.show(); if (!Util.isUndefinedOrNull(index)) { viewer.view(index); // 显示数组中指定下标的图片 } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架