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模拟自动点击的简单实例
Aug 08 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
Oct 11 Javascript
Javascript实现多彩雪花从天降散落效果的方法
Feb 02 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
Sep 01 Javascript
jQuery获取同级元素的简单代码
Jul 09 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
Sep 17 Javascript
微信小程序  modal详解及实例代码
Nov 09 Javascript
老生常谈原生JS执行环境与作用域
Nov 22 Javascript
使用Vue构建可重用的分页组件
Mar 26 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
小程序日历控件使用方法详解
Dec 29 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字符串函数的总结分析
2013/06/05 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
PHP中常见的密码处理方式和建议总结
2018/10/14 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
utf8的编码算法 转载
2006/12/27 Javascript
JS 分号引起的一段调试问题
2009/06/18 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
Egret引擎开发指南之发布项目
2014/09/03 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Perfume’s Club意大利官网:欧洲美妆电商
2019/05/03 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
Prototype是怎么扩展DOM的
2014/10/01 面试题
大学生物业管理求职信
2013/10/24 职场文书
医务人员竞聘职务自我评价分享
2013/11/08 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
党支部三会一课计划
2014/09/24 职场文书