安装 viewerjs

npm install viewerjs --save

创建一个 Viewer.vue 组件

<template>
<div id="index">
<ul>
<li v-for="(item, index) in imgArr"
:key="index">
<img :src="item" />
</li>
</ul>
<p>测试测试测试</p>
<p>测试测试测试</p>
<p>测试测试测试</p>
<p>测试测试测试</p>
<img :src="imgArr[2]" />
</div>
</template>
<script>
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
export default {
name: 'Viewer',
data() {
return {
imgArr: [
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1538988692454&di=a6086c2c80a99ec0a50ed3696776f39e&imgtype=0&src=http%3A%2F%2Fpic165.nipic.com%2Ffile%2F20180522%2F12398452_105538125000_2.jpg',
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1539582468&di=78699558c94fff160ae1fa5cc73be9fa&imgtype=jpg&er=1&src=http%3A%2F%2Fpic166.nipic.com%2Ffile%2F20180522%2F12398452_105521854000_2.jpg',
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1538987750399&di=8c77894bad73fbc3c1c82ebde9309ff2&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dpixel_huitu%252C0%252C0%252C294%252C40%2Fsign%3D09e9a51105f41bd5ce5ee0b438a2e4a7%2Ffaedab64034f78f083c1d8c972310a55b2191cc5.jpg',
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1538987750397&di=70b58f375170a335264545cdea00aec9&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dpixel_huitu%252C0%252C0%252C294%252C40%2Fsign%3D79013c1e743e6709aa0d4dbf52bffa51%2Fb7fd5266d0160924759f6222df0735fae6cd3455.jpg',
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1538987750397&di=106be7a370b48812e9e7ed19e9c8eb16&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dpixel_huitu%252C0%252C0%252C294%252C40%2Fsign%3D896dc4cbde62853586edda61f99713aa%2Fd009b3de9c82d158de82e7888b0a19d8bc3e4282.jpg'
]
};
},
mounted() {
const ViewerDom = document.getElementById('index');
const viewer = new Viewer(ViewerDom, {
// 配置
})
},
}
</script>
<style lang="less">
#index {
width: 100%;
ul {
li {
width: 24%;
height: 200px;
margin-right: 1%;
margin-bottom: 20px;
cursor: pointer;
display: inline-block;
&:nth-child(4n) {
margin-right: 0;
}
img {
height: 100%;
width: 100%;
object-fit: cover;
}
}
}
}
</style>

支持的键盘事件

仅在modal mode 下可用

  • ESC 键:退出全屏、关闭、退出、停止播放
  • Space 键:停止、播放
  • ← 键:查看上一张图片
  • → 键:查看下一张图片
  • ↑ 键:放大图片
  • ↓ 键:缩小图片
  • Ctrl + 0 组合键:缩小到初始大小
  • Ctrl + 1 组合键:放大到原始大小

参数配置

如果要改变全局的默认样式,可以使用 Viewer.setDefaults(options)

参数名称 参数类型 默认值 说明
initialViewIndex Number 0 定义用于查看的图像的初始索引
inline Boolean false 支持 inline mode
button Boolean true 是否显示查看图片时右上角的关闭按钮
navbar Boolean / Number true 是否显示底部导航栏 
0 或者 false :不显示 
1 或者 true :显示 
:当屏幕宽度大于768px时显示 
:当屏幕宽度大于992px时显示 
:当屏幕宽度大于1200px时显示
title Boolean / Number /
Function / Array
true 或者 false 时不显示
1或者true或者function或者array时显示
:当屏幕宽度大于768px时显示 
:当屏幕宽度大于992px时显示 
:当屏幕宽度大于1200px时显示
function 在函数体内返回标题
array 第一个参数表示可见性(0-4) 第二个参数就是标题
toolbar Boolean / Number / Object true 标题栏是否显示和布局 
或者 false 时不显示
1或者true或者时显示
:当屏幕宽度大于768px时显示 
:当屏幕宽度大于992px时显示 
:当屏幕宽度大于1200px时显示 
tooltip Boolean true 放大或缩小时显示的百分比的文字提示
true : 显示 
false : 不显示
movable Boolean true 是否可以拖动图片
zoomable Boolean true 是否可以缩放图片
rotatable Boolean true 是否可以旋转图片
scalable Boolean true 是否可以缩放图片
transition Boolean true 为一些特殊元素启用CSS3转换。
fullscreen Boolean true 允许全屏播放
keyboard Boolean true 启用键盘支持
backdrop Boolean / String true 启用 modal 为false的时候不支持点击背景关闭
loading Boolean true 加载图片的时候的loading图标
loop Boolean true 是否可以循环查看图片
interval Number 5000 定义图片查看器的最小的宽度
minWidth Number 200 定义图片查看器的最小的高度
minHeight Number 100 播放图片时 距离下一张图片的间隔时间
zoomRatio Number 0.1 利用鼠标滚轮缩放图片时的比例
minZoomRatio Number 0.01 缩小图片的最小比例
maxZoomRatio Number 100 放大图片的放大比例
zIndex Number 2015 定义查看器的CSS z-index值 modal 模式下
zIndexInline Number 0 定义查看器的CSS z-index值 inline 模式下
url String / Function src 原始图像URL
如果是一个字符串,应该图像元素的属性之一
如果是一个函数,应该返回一个有效的图像URL
container Element / String body 将查看器置于modal模式的容器 
只有在 inline为 false的时候才可以使用
filter Function null 过滤图像以便查看(如果图像是可见的,应该返回true)
toggleOnDblclick Boolean true 当你放大或者缩小图片时 双击还原
ready Function null 当查看图片时被触发的函数 只会触发一次
show Function null 当查看图片时被触发的函数 每次查看都会触发
shown Function null 当查看图片时被触发的函数 每次查看都会触发 在show之后
hide Function null 当关闭图片查看器时被触发的函数 每次关闭都会触发
hidden Function null 当关闭图片查看器时被触发的函数 每次关闭都会触发 在hide之后
view Function null 当查看图片时被触发的函数 每次查看都会触发 在shown之后
viewed Function null 当查看图片时被触发的函数 每次查看都会触发 在view之后
zoom Function null 在图片缩放时触发
zoomed Function null 在图片缩放时触发 在 zoom之后

toolbal Object 详解

key值名称 说明
zoomIn 放大图片的按钮
zoomOut 缩小图片的按钮
reset 重置图片大小的按钮
prev 查看上一张图片的按钮
next 查看上一张图片的按钮
play 播放图片的按钮
rotateLeft 向左旋转图片的按钮
rotateRight 向右旋转图片的按钮
flipHorizontal 图片左右翻转的按钮
flipVertical 图片上下翻转的按钮

gitgub 地址:https://github.com/fengyuanchen/viewerjs#options

官网地址:https://fengyuanchen.github.io/viewerjs/

Vue 中使用 viewerjs的更多相关文章

  1. vue中使用viewerjs

    项目创建 插件Viewer.js vue init webpack mytest001 安装viewerjs npm install viewerjs 删掉生成的项目里面的helloWord.vue ...

  2. Vue 中使用 viewerjs进行本地上传预览图片

    https://www.cnblogs.com/shenjp/p/9754171.html 如果图片路径是 接口的返回信息的话,将路径存储在数组中,在this.$nextTick中实例化Viewer: ...

  3. 在 vue 中使用 vieiwer 图片预览插件

    https://blog.csdn.net/WestLonly/article/details/79801800?utm_source=blogxgwz0 首先,感谢原作者 官网链接 github地址 ...

  4. vue中如何不通过路由直接获取url中的参数

    前言:为什么要不通过路由直接获取url中的参数? vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接 ...

  5. vue中的重要特性

    一.vue中的自定义组件 html的代码: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  6. Vue中comoputed中的数据绑定

    Vue中的数据实现响应式绑定是在初始化的时候利用definePrototype的定义set和get过滤器,在进行组件模板编译时实现water的监听搜集依赖项,当数据发生变化时在set中通过调用dep. ...

  7. vue中使用stompjs实现mqtt消息推送通知

    最近在研究vue+webAPI进行前后端分离,在一些如前端定时循环请求后台接口判断状态等应用场景用使用mqtt进行主动的消息推送能够很大程度的减小服务端接口的压力,提高系统的效率,而且可以利用mqtt ...

  8. Vue中应用CORS实现AJAX跨域,及它在 form data 和 request payload 的小坑处理

    基本概念部分(一):理解CORS 说道Vue的跨域AJAX,我想先梳理一遍CORS跨域,"跨域资源共享"(Cross-origin resource sharing),它是一个W3 ...

  9. vue中watched属性

    watched属性,vue中的观察属性,可用来监听一个值的变化 默认有两个参数,新值,旧值 data (){ return { currentCity: "深圳" } } watc ...

随机推荐

  1. 浅谈Static

    A: 使用场景 static可以修饰成员变量和成员方法. 什么时候使用static修饰成员变量? 加static修饰成员的时候,这个成员会被类的所有对象所共享.一般我们把共性数据定义为静态的变量 什么 ...

  2. 构建oracle12c的Docker镜像

    1. 准备工作 需要下载oracle相关的东东,例如安装文件,dockerfile.这些都可以从oracle 的github 上面找到.https://github.com/oracle/docker ...

  3. English trip EM2-LP-4B At school Teacher:Will

    课上内容(Lesson) 词汇(Key Word ) art  美术:艺术 business  商科 engineering  工程学 graphic design  平面造型学 history  历 ...

  4. C#反射详解

    http://blog.csdn.net/educast/article/details/2894892(转) 两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏 ...

  5. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(me

    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(me ...

  6. 用Apache Ant在Weka中嵌入新算法

    本文将介绍一种新的添加新的算法到Weka中的方法,国内的论坛基本都是通过IDE(Eclipse或NetBeans)编译,详细教程请见上一篇博客.经研究,发现国外的网站很流行用Ant这个方法,教程奉上. ...

  7. 学习Linux系统中命令的简单方法

    如果说如何快速学习.了解Linux的话,我的答案是学命令.背命令!为何呢?对于一名新手来说,去学习Linux的思想.了解Linux的架构.明白Linux中“一切皆文件”概念虽然说是没有错,是对的.但是 ...

  8. springmvc文件上传示例

    首先要导包,用的的包是: commons-fileupload-*.*.*.jar commons-io-*.*.jar *号代表版本号 这里给大家分享一下下载链接:https://files.cnb ...

  9. 遇见 TiDB

    遇见 TiDB 文章来源:企鹅号 - 塔塔驿站 最近TiDB掀起了一波分布式数据库的热潮,公司也在着手准备TiDB的落地工作,前几天也参与了几场公司针对TiDB的分享会,下面我们了解一下关于TiDB. ...

  10. 拉格朗日乘子法&KKT条件

    朗日乘子法(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法,在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件.前 ...