Vue点击图片预览(可旋转、缩放、上下切换)

vue插件v-viewer的使用

功能

vue点击图片后预览放大(可旋转、翻转、缩放、上下切换、键盘操作)

操作

  1. 安装
npm install v-viewer
  1. 引用
import Vue from 'vue';
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
  1. vue调用
Vue.use(Viewer)
  1. 页面代码
<viewer :images="imgWrap" ref="viewer" :options="optionsViewer">
   <img class="pic" v-for="pic in imgWrap" :src="pic" :key="pic"  />
</viewer>
  1. js代码
export default{
	name: "Viewer",
	data(){
		return(){
			imgWrap:['1.jpg', '2.jpg'],
			optionsViewer: {
		        zIndex: 99999,
		        inline:false,
		        navbar:false,
		        scalable:false,
		        title:false,
		        toolbar:{
					zoomIn: 1,
					zoomOut: 1,
					reset: 1,
					rotateLeft: 1,
					rotateRight: 1,
					flipHorizontal: 1,
					flipVertical: 1,
				}
		    }
		}
	}
}
  1. 全局默认设置
Viewer.setDefaults({
    'inline':true,
    'button':true, //右上角按钮
    "navbar": true, //底部缩略图
    "title": true, //当前图片标题
    "toolbar": true, //底部工具栏
    "tooltip": true, //显示缩放百分比
    "movable": true, //是否可以移动
    "zoomable": true, //是否可以缩放
    "rotatable": true, //是否可旋转
    "scalable": true, //是否可翻转
    "transition": true, //使用 CSS3 过度
    "fullscreen": true, //播放时是否全屏
    "keyboard": true, //是否支持键盘
    "url": "data-source",
    ready: function (e) {
      console.log(e.type,'组件以初始化');
    },
    show: function (e) {
      console.log(e.type,'图片显示开始');
    },
    shown: function (e) {
      console.log(e.type,'图片显示结束');
    },
    hide: function (e) {
      console.log(e.type,'图片隐藏完成');
    },
    hidden: function (e) {
      console.log(e.type,'图片隐藏结束');
    },
    view: function (e) {
      console.log(e.type,'视图开始');
    },
    viewed: function (e) {
      console.log(e.type,'视图结束');
      // 索引为 1 的图片旋转20度
      if(e.detail.index === 1){
          this.viewer.rotate(20);
      }
    },
    zoom: function (e) {
      console.log(e.type,'图片缩放开始');
    },
    zoomed: function (e) {
      console.log(e.type,'图片缩放结束');
    }
  });

效果演示

在这里插入图片描述

配置参数

全局配置
如果要更改全局默认选项,可以使用view . setdefaults(选项)

参数名称参数类型默认值说明
initialViewIndexNumber0定义用于查看的图像的初始索引
inlineBooleanfalse支持 inline mode
buttonBooleantrue是否显示查看图片时右上角的关闭按钮
navbarBoolean / Numbertrue是否显示底部导航栏
0 或者 false :不显示
1 或者 true :显示
2 :当屏幕宽度大于768px时显示
3 :当屏幕宽度大于992px时显示
4 :当屏幕宽度大于1200px时显示
titleBoolean / Number / Function / Arraytrue0 或者 false 时不显示
1或者true或者function或者array时显示
2 :当屏幕宽度大于768px时显示
3 :当屏幕宽度大于992px时显示
4 :当屏幕宽度大于1200px时显示
function 在函数体内返回标题array 第一个参数表示可见性(0-4) 第二个参数就是标题
toolbarBoolean / Number / Objecttrue标题栏是否显示和布局
0 或者 false 时不显示
1或者true或者时显示
2 :当屏幕宽度大于768px时显示
3 :当屏幕宽度大于992px时显示
4 :当屏幕宽度大于1200px时显示
Object : Object类型详解
tooltipBooleantrue放大或缩小时显示的百分比的文字提示
true : 显示
false : 不显示
movableBooleantrue是否可以拖动图片
zoomableBooleantrue是否可以缩放图片
rotatableBooleantrue是否可以旋转图片
scalableBooleantrue是否可以缩放图片
transitionBooleantrue为一些特殊元素启用CSS3转换。
fullscreenBooleantrue允许全屏播放
keyboardBooleantrue启用键盘支持
backdropBoolean / Stringtrue启用 modal 为false的时候不支持点击背景关闭
loadingBooleantrue加载图片的时候的loading图标
loopBooleantrue是否可以循环查看图片
intervalNumber5000定义图片查看器的最小的宽度
minWidthNumber200定义图片查看器的最小的高度
minHeightNumber100播放图片时 距离下一张图片的间隔时间
zoomRatioNumber0.1利用鼠标滚轮缩放图片时的比例
minZoomRatioNumber0.01缩小图片的最小比例
maxZoomRatioNumber100放大图片的放大比例
zIndexNumber2015定义查看器的CSS z-index值 modal 模式下
zIndexInlineNumber0定义查看器的CSS z-index值 inline 模式下
urlString / Functionsrc原始图像URL如果是一个字符串,应该图像元素的属性之一如果是一个函数,应该返回一个有效的图像URL
containerElement / Stringbody将查看器置于modal模式的容器 只有在 inline为 false的时候才可以使用
filterFunctionnull过滤图像以便查看(如果图像是可见的,应该返回true)
toggleOnDblclickBooleantrue当你放大或者缩小图片时 双击还原
readyFunctionnull当查看图片时被触发的函数 只会触发一次
showFunctionnull当查看图片时被触发的函数 每次查看都会触发
shownFunctionnull当查看图片时被触发的函数 每次查看都会触发 在show之后
hideFunctionnull当关闭图片查看器时被触发的函数 每次关闭都会触发
hiddenFunctionnull当关闭图片查看器时被触发的函数 每次关闭都会触发 在hide之后
viewFunctionnull当查看图片时被触发的函数 每次查看都会触发 在shown之后
viewedFunctionnull当查看图片时被触发的函数 每次查看都会触发 在view之后
zoomFunctionnull在图片缩放时触发
zoomedFunctionnull在图片缩放时触发 在 zoom之后

toolbar Object详解
key值列表: “zoomIn”, “zoomOut”, “oneToOne”, “reset”, “prev”, “play”, “next”, “rotateLeft”, “rotateRight”, “flipHorizontal”, “flipVertical”

key值名称说明
zoomIn放大图片的按钮
zoomOut缩小图片的按钮
reset重置图片大小的按钮
prev查看上一张图片的按钮
next查看上一张图片的按钮
play播放图片的按钮
rotateLeft向左旋转图片的按钮
rotateRight向右旋转图片的按钮
flipHorizontal图片左右翻转的按钮
flipVertical图片上下翻转的按钮
{key:numberBoolean} 显示或者隐藏对应key的按钮 为Number的时候为可见性

{key: String } 自定义按钮的大小
{ key: Function } 自定义按钮点击的处理
{ key: { show: Boolean | Number, size: String, click: Function } 自定义按钮的每个属性
size的取值范围: small medium default large

git网址: https://github.com/mirari/v-viewer.
中文文档: Vue图片浏览组件v-viewer,支持旋转、缩放、翻转等操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值