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 相关文章推荐
如何确保JavaScript的执行顺序 之jQuery.html深度分析
Mar 03 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
Mar 19 Javascript
javascript解析json实例详解
Nov 05 Javascript
jQuery中:selected选择器用法实例
Jan 04 Javascript
瀑布流的实现方式(原生js+jquery+css3)
Jun 28 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
Jul 21 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
微信小程序动态的加载数据实例代码
Apr 14 Javascript
jQuery实现简单的抽奖游戏
May 05 jQuery
Angularjs上传文件组件flowjs功能
Aug 07 Javascript
详解node child_process模块学习笔记
Jan 24 Javascript
node.js中npm包管理工具用法分析
Feb 14 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
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
Jquery ui css framework
2010/06/28 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
python代码实现ID3决策树算法
2017/12/20 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
python频繁写入文件时提速的方法
2019/06/26 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
影视广告专业求职信
2014/09/02 职场文书
医院护士工作检讨书
2014/10/26 职场文书
公司晚会主持词
2019/04/17 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
Java的Object类的九种方法
2022/04/13 Java/Android