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 相关文章推荐
提升你网站水平的jQuery插件集合推荐
Apr 19 Javascript
js自动生成对象的属性示例代码
Oct 28 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
Jun 13 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
将json转换成struts参数的方法
Nov 08 Javascript
原生js实现addclass,removeclass,toggleclasss实例
Nov 24 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
JS计算两个时间相差分钟数的方法示例
Jan 10 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
Apr 24 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
微信小程序多音频播放进度条问题
Aug 28 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
Oct 26 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/05/07 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
JS实现手风琴特效
2020/11/08 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
django 自定义用户user模型的三种方法
2014/11/18 Python
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
python 容器总结整理
2017/04/04 Python
python随机数分布random测试
2018/08/27 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
python之列表推导式的用法
2019/11/29 Python
Python sorted对list和dict排序
2020/06/09 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
公务员保密承诺书
2014/03/27 职场文书
乡镇一岗双责责任书
2015/01/29 职场文书
中班下学期个人总结
2015/02/12 职场文书
文明礼貌主题班会
2015/08/14 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
Golang获取List列表元素的四种方式
2022/04/20 Golang