vue基于viewer实现的图片查看器功能


Posted in Javascript onApril 12, 2019

vue2-viewer

vue2-viewer 是一款强大的图像浏览插件,可以实现图像的放大预览,旋转,任意比例放大和缩小等功能

vue2-viewer 是viewer.js vue的实现,效果以及样式完全移植自viewer.js关于viewer.js可以参考链接

[http://fengyuanchen.github.io...]

插件中所有的效果均大量地使用了css3的新特性替换了viewer.js中的js动画,所以vue2-viewer主要实用场景是现代浏览器中。

使用文档

安装

npm install --save vue2-viewer

在main.js中引入并使用插件

import ImageViewer from 'vue2-viewer';
Vue.use(ImageViewer);

插件会在全局注册vue-viewer组件

使用组件

vue2-viewer 提供两种使用模式,单图片模式和多图列表模式。

单图片模式

props

参数 说明 类型 必须
thumb 要显示的小图的链接 string true
full 点击放大后的大图链接 string true

示例:

<vue-viewer style="display: inline-block"
 :thumb="image"
 :full="image">
</vue-viewer>
<script>
export default {
 name: 'app',
 data () {
 return {
  msg: 'vue2-viewer-test',
  image: 'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3427452369,2586833644&fm=173&app=25&f=JPEG?w=580&h=347&s=908FF35A050626E2428C001E030090D6',
 }
 }
}
</script>

效果展示:

 vue基于viewer实现的图片查看器功能

多图片模式

props

参数 说明 类型 必须
thumb 要显示的小图列表的链接数组 array true
full 点击放大后的大图的链接数组 array true
list-ul-class 默认小图的列表外层ul的自定义class 用于自定义列表的样式,包括ul内部的slot的内容的样式都可以通过这个方式自定义 string false

Scoped Slot

name 说明
~ 列表中的每一个元素中除了默认图以外的内容

示例:

<vue-viewer multiple
 :thumb="imageList"
 list-ul-class="image-list"
 :full="imageList">
 <!--在列表中加入右上角删除按钮-->
 <template slot-scope="target">
 <span class="icon-remove" @click.stop="onRemove(target.index)" style="">×</span>
 </template>
</vue-viewer>
<script>
export default {
 name: 'app',
 data () {
 return {
  msg: 'vue2-viewer-test',
  imageList: [
  'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1550224739247&di=512032866bea6329b1e46c735d50ac8b&imgtype=0&src=http%3A%2F%2Fimglf2.ph.126.net%2FdHH6OM2rD8JucPGAotUfag%3D%3D%2F6608219914074710297.jpg',
  'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=488030022,1694816207&fm=173&app=25&f=JPEG?w=580&h=347&s=A08FB35A5E0616C664F5631C030010D6',
  'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2574767313,3929397124&fm=173&app=25&f=JPEG?w=580&h=868&s=B784EEA3460236E17A1F137F0300A058'
  ]
 }
 },
 methods: {
 onRemove(index) {
  alert(index);
 }
 }
}
</script>
<style>
.image-list{
 margin: 0; padding: 0
}
.image-list li {
 display: inline-block;
 margin: 0 10px;
 list-style: none;
 position: relative;
}
.image-list li img {
 box-shadow: 0 0 5px #333;
}
.icon-remove{
 width: 20px; height:20px; 
 text-align: center; line-height: 20px;
 background:#f33; 
 position:absolute; top:-10px; right:-10px;
 border-radius: 10px;
 cursor: pointer;
 color:#fff;
}
a {
 color: #42b983;
}
</style>

效果展示:

vue基于viewer实现的图片查看器功能

总结

以上所述是小编给大家介绍的vue基于viewer实现的图片查看器功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
获取服务器传来的数据 用JS去空格的正则表达式
Mar 26 Javascript
图片上传插件jquery.uploadify详解
Nov 15 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
May 03 Javascript
jQuery表格插件datatables用法总结
Sep 05 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
May 15 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
Jul 21 Javascript
jquery+css实现的红色线条横向二级菜单效果
Aug 22 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
Sep 22 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
详解javascript事件绑定使用方法
Oct 20 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
prettier自动格式化去换行的实现代码
Aug 25 Javascript
js form表单input框限制20个字符,10个汉字代码实例
Apr 12 #Javascript
详解js创建对象的几种方法及继承
Apr 12 #Javascript
详解JQuery基础动画操作
Apr 12 #jQuery
React中阻止事件冒泡的问题详析
Apr 12 #Javascript
TypeScript中的方法重载详解
Apr 12 #Javascript
vue-cli 3.x配置跨域代理的实现方法
Apr 12 #Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
Apr 12 #Javascript
You might like
php 信息采集程序代码
2009/03/17 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
jquery 表单进行客户端验证demo
2009/08/24 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
详解Bootstrap插件
2016/04/25 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
es6数值的扩展方法
2019/03/11 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
进一步了解Python中的XML 工具
2015/04/13 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
2020/04/27 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
英文版区域经理求职信
2013/10/23 职场文书
中学生校园广播稿
2014/01/16 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
个人授权委托书格式
2014/08/30 职场文书
高三英语教学计划
2015/01/23 职场文书
食品质检员岗位职责
2015/04/08 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书