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 07 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
Sep 15 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
js操作输入框提示信息且响应鼠标事件
Mar 25 Javascript
javascript实现分栏显示小技巧附图
Oct 13 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
Sep 28 Javascript
vue实现行列转换的一种方法
Aug 06 Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 Javascript
js获取 gif 的帧数的代码实例
Sep 10 Javascript
js、jquery实现列表模糊搜索功能过程解析
Mar 27 jQuery
在Angular中实现一个级联效果的下拉框的示例代码
May 20 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中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
Bootstrap按钮组简单实现代码
2017/03/06 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
python读取和保存图片5种方法对比
2018/09/12 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
css3 iphone玻璃透明气泡完美实现
2013/03/20 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
会计岗位职责
2013/11/08 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
采购部年度工作总结
2015/08/13 职场文书
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis