1、 Viewer.js简介
Viewer.js 是一款强大的图片查看器。我们通过Viewer.js 在页面上添加强大的图片查看功能,同时,这款优秀的插件配置操作起来也非常的方便。Viewer.js分为2个版本,js版本和jquery版本,下载地址分别为
纯JS版本:GitHub - fengyuanchen/viewerjs: JavaScript image viewer.
jQuery 版本:GitHub - fengyuanchen/jquery-viewer: A jQuery plugin wrapper for Viewer.js.
2、Viewer.js支持的功能
支持移动设备触摸事件支持响应式支持放大/缩小支持旋转(类似微博的图片旋转)支持水平/垂直翻转支持图片移动支持键盘支持全屏幻灯片模式(可做屏保)支持缩略图支持标题显示支持多种自定义事件3、Viewer.js的API
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
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 |
build | 函数 | null | 回调函数,具体查看演示 |
built | 函数 | null | 回调函数,具体查看演示 |
show | 函数 | null | 回调函数,具体查看演示 |
shown | 函数 | null | 回调函数,具体查看演示 |
hide | 函数 | null | 回调函数,具体查看演示 |
hidden | 函数 | null | 回调函数,具体查看演示 |
view | 函数 | null | 回调函数,具体查看演示 |
viewed | 函数 | null | 回调函数,具体查看演示 |
4、 按照和引入的方式
Javascript版:在html文件的head中直接引入文件 <link href="static/js/viewer.min.css" rel="stylesheet"> <script src="static/js/viewer.min.js" type="application/javascript"></script>
jQuery版,需要多引入一个,在html文件的head中直接引入文件 <link href="static/js/viewer.min.css" rel="stylesheet"><script src="static/js/viewer.min.js" type="application/javascript"></script><script src="static/js/jquery.min.js"></script>
npm,直接install npm install viewerjs
5、使用方法(简单的操作)
我这里用的是一个js版本,简单做了一个demo , html代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <link href="static/js/viewer.min.css" rel="stylesheet"> <script src="static/js/viewer.min.js" type="application/javascript"></script> <script src="static/js/jquery.min.js"></script> </head><body> <div class="container "> <div id="image-gallery" style="display: none"> //这里面可以放多个图片,显示按照指定的索引进行(索引从0开始) <img src="static/images/banner2.jpg" alt="Image 1"> </div> // 点击显示预览图片 <div id="btn01" style="width: 70px;height: 30px;border: 1px solid #ccc;text-align: center;line-height: 30px;">点击</div> </div></body>//这里放js操作</html
js代码,点击显示图片,操作事件 <script> // 添加事件 document.addEventListener('DOMContentLoaded', function () { // 获取点击后需要显示的图片id var gallery = document.getElementById('image-gallery'); // 给显示的图片添加一下属性在dom中 var viewer = new Viewer(gallery, { inline: false, button: true, navbar: true, toolbar: true, title: true, tooltip: true, movable: true, zoomable: true, rotatable: true, scalable: true, }); // 添加按钮点击事件 document.getElementById('btn01').addEventListener('click', function () { // 这里指定要预览的图片索引 viewer.view(0); // 预览第一张图片(索引从0开始) }); });</script>
效果展示