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自动显示最后更新时间
Mar 15 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 Javascript
Javascript中call和apply函数的比较和使用实例
Feb 03 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
Jan 17 Javascript
微信小程序 template模板详解及实例代码
Mar 09 Javascript
使用vue构建移动应用实战代码
Aug 02 Javascript
vue两个组件间值的传递或修改方式
Jul 04 Javascript
React.js组件实现拖拽排序组件功能过程解析
Apr 27 Javascript
vue 使用原生组件上传图片的实例
Sep 08 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 Javascript
原生JavaScript实现五子棋游戏
Nov 09 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
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
php 实现进制相互转换
2016/04/07 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
Python合并多个装饰器小技巧
2015/04/28 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
python爬虫请求头设置代码
2020/07/28 Python
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
幼师自我鉴定
2014/02/01 职场文书
开学季活动策划方案
2014/02/28 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
检讨书格式
2019/04/25 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android