缘起

身为一名前端渣,平常轮子用的飞起,不到万不得已,绝不自己写代码!慢慢的,成为了一名熟练的轮子组装师傅。但在不久前,需要在移动端展示一些图片,产(niu)品(pi)经(da)理(wang)说:跟微信图片浏览效果差不多就可以!于是颤抖着双手在github那一通找啊,居然没发现一个好用的!顿时心情有点复杂。没办法啊,为了混口饭吃,只有先用个现成轮子摸一下鱼咯。自己业余时间慢慢搞一个呗,于是便有了这个完成度还可以的轮子h5-imageviewer

一些已实现的功能

  • 常用的手势,比如捏、旋转、双击放大缩小和swipe等
  • 滑动和swipe换页
  • 横竖屏及平滑切换
  • 纯dom实现,适用于React/Vue/Angular
  • 支持长图浏览

先举个栗子(扫码在线体验)

竖屏视频
横屏视频
单张图片模式

安装

直接通过npm安装即可

npm install h5-imageviewer
复制代码

如何使用

单张图片模式(手势更多哦)

import viewer from 'h5-imageviewer'
viewer.showViewer(imgUrl, // image url (base64 also support){altImg, // placeholder when image onerroronViewerHideListener = ()=>{}, // listener for viewer hiderestDoms = [], // config some addition dom elementsimgMoveFactor = 2, // movement speed (imgMoveFactor * translateX or translateY)imgMinScale = 1, // minimum scale of the imageimgMaxScale = 2, // maximum scale of the image}
)
// hide image viewer
viewer.hideImgViewer()
复制代码

多图片分页模式(为了简单方便,支持长图)

import viewer from 'h5-imageviewer'
viewer.showImgListViewer(imgList, // image url list (base64 also support){defaultPageIndex = 0, // the default page index (start with 0)altImg,onPageChanged = pageIndex=>{}, // page changed listeneronViewerHideListener = ()=>{},restDoms = [],pageThreshold = 0.1, // threshold of go to next or prev page (window.innerWidth * pageThreshold)pageDampingFactor = 0.9, // damping factorimgMoveFactor = 2,imgMinScale = 1,imgMaxScale = 2,limit = 11, // how many pages will be kept offscreen in an idle state}
)
// hide image list viewer
viewer.hideImgListViewer()
复制代码

更多使用详情,请参照 EXAMPLE

第三方依赖(香)

  • AlloyFinger

下一步计划

  • 导出更多配置项,高度定制化
  • 快速滑动手势支持

转载于:https://juejin.im/post/5d4c32e75188255b3e412ad7

移动端图片浏览器轮子相关推荐

  1. java 移动页面中的图片上传_移动端图片操作——上传

    上传我们一般都是用"input[type=file]"控件.当你用此控件时,你就授权了网页和服务器访问对应的文件,就可以得到File对象. 友情提示在,在Android手机webv ...

  2. html百度转到顶部 fixed,科技常识:完美解决安卓端百度浏览器屏蔽fixed悬浮元素的问题...

    今天小编跟大家讲解下有关完美解决安卓端百度浏览器屏蔽fixed悬浮元素的问题 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关完美解决安卓端百度浏览器屏蔽fixed悬浮元素的问题 的相关资料 ...

  3. [转载]input[type=file]在移动端各浏览器无法适配打开相机的问题。

    原文地址:input[type=file]在移动端各浏览器无法适配打开相机的问题.作者:韩小文 近期有一需求是拍照上传用户头像并能进行区域性的截取操作. 故使用了input[type=file]标签进 ...

  4. java 移动页面中的图片上传_HTML5移动端图片上传(一)

    上传我们一般都是用"input[type=file]"控件.当你用此控件时,你就授权了网页和服务器访问对应的文件,就可以得到File对象. 友情提示在,在Android手机webv ...

  5. 【好工具】安利一款优秀的图片浏览器

    欢迎大家来到<好工具>专栏,这个专栏面向所有希望获得高效生产力工具的朋友.在这个专栏里,我们会和大家聊聊那些狂拽酷霸炫的生产力工具! 相信大家一定和我一样,茫然于庞大的工具海洋,却仍找不到 ...

  6. 浅谈移动端图片压缩(iOS Android)

    在 App 中,如果分享.发布.上传功能涉及到图片,必不可少会对图片进行一定程度的压缩.笔者最近在公司项目中恰好重构了双端(iOS&Android)的图片压缩模块.本文会非常基础的讲解一些图片 ...

  7. JavaScript移动端图片上传方法

    移动端图片上传方法 实现效果 文件下载 http://files.cnblogs.com/files/sntetwt/%E7%A7%BB%E5%8A%A8%E7%AB%AF%E5%9B%BE%E7%8 ...

  8. html5照片浏览,实践html5实例–简单图片浏览器

    使用canvas来进行绘画,它像很多其他dom对象一样,有很多属性和方法,操作这些方法,实现绘画 获取canvas对象,调用document.getElementById()方法 调用canvas对象 ...

  9. vue实现移动端图片预览

    vue实现移动端图片预览 1.安装插件 2.main引入 3.使用 注意 扩展 通过使用vue-photo-preview插件,实现移动端图片的预览,全屏等功能. 1.安装插件 npm install ...

  10. 移动端图片_编码解码调研

    图片通常是移动端流量耗费最多的部分,并且占据着重要的视觉空间.合理的图片格式选用和优化可以为你节省带宽.提升视觉效果.在这篇文章里我会分析一下目前主流和新兴的几种图片格式的特点.性能分析.参数调优,以 ...

最新文章

  1. mybaits四-3:获取保存数据的id
  2. Eclipse中 怎么让包分层级显示
  3. android view存储为jpg,Android长按imageview把图片保存到本地的实例代码
  4. 差值平方和匹配_纯前端实现图片的模板匹配
  5. 如何“神还原”数据中心? 阿里联合NTU打造了工业级精度的仿真沙盘!
  6. pyhon基础(一)
  7. Aurora 64B66B IP核的硬件跑通
  8. 新加坡国际学校IB课程体系
  9. Win11启动IE浏览器
  10. 曙光服务器通过ipmi安装系统,曙光服务器ipmi部署记录精编版
  11. 信创只是开始_《作业帮高管团队亲笔信:D轮只是开始,一切归零,重新出发》...
  12. 这40个冷知识,据说只有1%的人知道……颠覆你的认知!
  13. h5页面如何预览excel文件_kintone excel预览插件
  14. AngularJS风格指南
  15. 转贴:华为加班死人了
  16. 【转】一位硕士毕业生三个月求职经历与经验的结晶
  17. H5互动小游戏如何提升用户留存
  18. 自学单片机编程(四)流水灯代码优化
  19. 使用weinre调试移动端真机
  20. ‘冰封’合约背后的老牌劲敌 | 链安团队漏洞分析连载第二期 —— 拒绝服务漏洞

热门文章

  1. C#编程打字指法练习
  2. SQL Server中Id自增列的最大Id是多少
  3. 【dedecms】DedeCms的搜索引擎优化方法小结
  4. 怎么修改Ubuntu和Windows双系统启动菜单项顺序?
  5. 计算机描绘的基因结构图,傻瓜式图文教程:Genecards基因信息检索与分析、基因结构图绘制.........
  6. python一个字符占几个字节_字符串在Python内部是如何省内存的
  7. 分解质因数 java_java代码分解质因数
  8. 机器学习:什么是预测模型性能评估
  9. 指付通盗刷信用卡维权连载--9月2日维权纪实
  10. 一根均线选股法_“傻瓜式炒股法”——20日均线一根均线买入法,简单很实用!...