最近做了一个jquery图片查看的插件,目的是能精确查看图片的详情,插件支持图片旋转、放大、缩小、拖拽、缩略图显示,界面效果是按照window的qq查看图片功能写的,当然不尽相同。

具体功能:

  1. 多张图片切换,键盘左右键或左右箭头切换

  2. 旋转

  3. 放大,支持鼠标滚轮

  4. 缩小,支持鼠标滚轮

  5. 右下角缩略图

  6. 拖拽大图

  7. 全屏

PS:下面是插件各状态下效果,demo示例会在最后放出来。

全屏
全屏是容器的最大化。

缩小
可以点击缩小图标或者鼠标滚轮向下滚,可以缩小图片。

放大
可以点击放大图标或者鼠标滚轮向上滚,可以放大图片。当图片长或宽大于容器时候,就会出现右下角的缩略图。

旋转
旋转是使用css3实现的。

拖拽图片
大图区域和缩略图区域都是可以拖拽的,可以通过拖拽查看图片某个位置。

旋转拖拽
实现插件过程中,这个是最困难的地方,旋转加上拖拽图片,计算方式复杂很多。

切换图片
插件支持多张图片切换查看,可以通过键盘左右键或左右箭头切换。

总结
这个插件耗时4天才写好,难点在于图片旋转之后兼顾其他功能。实现的详情就不细说了,附上demo示例。

我把源代码放在网盘上了,有需要的可去下:http://pan.baidu.com/s/1bTWGnO

PS:注意全屏、关闭的功能需要将示例部署起来才能演示,不然会有跨域问题。

注意

  1. 浏览器兼容问题

由于我这个插件只需要在Chrome上使用(我现在项目的特别之处),所以其他浏览器我并没有去做兼容,使得IE、firefox浏览器都相应会有一些问题。像旋转在IE9以下当然用不了(css3的原因),拖拽也会因为方法或属性的不兼容导致有问题。

PS:所以如果要使用我的插件,估计需要对插件做一些兼容处理,不然就得等我找时间做了。

  1. 拖拽不平滑

这个问题我也发现了,确实是在大图拖拽时候有卡顿现象,这个我也将稍后修复。

20160312修复问题

  1. 修复了拖拽不平滑问题。

  2. 对Firefox、Chrome、Safari、IE9+进行兼容。

PS:暂时没有考虑兼容IE9以下。

原文链接:http://www.cnblogs.com/lovesong/p/5004951.html

jquery图片查看插件,支持旋转、放大、缩小、拖拽、缩略图(仿qq图片查看)相关推荐

  1. 强大的jQuery幻灯片播放插件 支持全拼、拖拽和下载等功能

    强大的jQuery幻灯片播放插件 支持全拼.拖拽和下载等功能 在线演示 本地下载 posted @ 2018-11-29 11:30 栖息地 阅读(...) 评论(...) 编辑 收藏

  2. vue实现鼠标滚动图片放大缩小拖拽

    1.封装可放大缩小拖拽组件 <template><div class="drag-outer"ref="dragWrap":style=&qu ...

  3. 使用 Fresco 实现大图浏览(支持手势放大、拖拽)

    一.Fresco简介 Fresco是facebook出品的一款图片加载框架,使用了Fresco之后,不需要再考虑图片的加载和内存占用的问题,堪称图片加载的神器.Fresco将图片存储到一个特殊的区域, ...

  4. Vue实现图片预览(放大缩小拖拽)纯手写

    这张图是显示的图片放大的一个预览情况,这里是参考预览操作实现的一个背景为黑色的部分,上层的图片可实现滚轮放大或者点击上部的放大镜图标进行放大,代码是基于Ant Design Vue框架的基础上 这里先 ...

  5. 【quill-editor】富文本编辑器对图片的放大缩小拖拽的实现

    首先哈,quill-editor没有对图片的功能,文档里也有提到扩展模版 文档: 回归正题=> 1.安装模版 npm i quill-image-drop-module -S //拖拽 npm ...

  6. vue 实现图片放大缩小拖拽

    https://www.h5w3.com/239173.html https://blog.51cto.com/wjw1014/5411219 // 放大缩小public setTransform ( ...

  7. canvas 实现图片放大缩小拖拽 移动端、PC端

    前言 实现目标:使用canvas画出地图,且可以通过鼠标滚轮缩放,拖拽:手指滑动拖拽,手势缩放 drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dW ...

  8. bootstrap缩小后div互相叠加_纯 JS 实现放大缩小拖拽踩坑之旅

    点击上方"前端公虾米",选择"置顶或者星标" 你的关注意义重大! 前言 最近团队需要做一个智能客服悬浮窗功能,需要支持拖动.放大缩小等功能,因为这个是全局插件, ...

  9. js 实现 H5 div的内容 放大缩小拖拽功能 vue可用

    大佬写的组件 , 虽然我看不懂 但不妨碍我会用啊 想去看大佬代码的点这里 下面的无脑的代码时刻 一.复制代码到一个单独的.vue文件然后 走人去下一步 // 放大缩小页面组件 <template ...

  10. vue-draggable-resizable放大缩小拖拽功能

    效果图 1.下载依赖 npm install --save vue-draggable-resizable main.js引入 import VueDraggableResizable from 'v ...

最新文章

  1. numpy.tril详解
  2. [Python unittest] 3-Organizing test code
  3. 怎么判断前轮左右的位置_如何判定汽车前面左右轮的位置?大家有什么经验?...
  4. operator、explicit与implicit
  5. ZStack获1亿元B轮融资,深创投领投、阿里云继续跟投
  6. GVRP的应用—华为拓扑
  7. Anaconda自带Python编译器Jupyter Notebook显示代码行数
  8. 基于阿里云移动推送的移动应用推送模式最佳实践
  9. python迭代器与生成器答案_史上最全 Python 迭代器与生成器
  10. vuejs+webpack环境搭建
  11. np.c_和np.r_
  12. oracle 丁勇 从零开始学_8.1.6 BETWEEN、IN和LIKE范围查询(1)
  13. SQLSERVER 2008 R2下载安装教程
  14. matlab倒立摆pid仿真,一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真
  15. 龙芯3a4000 交叉编译链接错误
  16. VC++信息安全编程(14)PNP溢出代码漏洞扫描检测
  17. excel图表上x轴y轴怎么设置的教程介绍
  18. bingo update1
  19. Centos自动登录
  20. 【脚本工具】QQ个人数据管理方法与脚本

热门文章

  1. WIN7上的“雅黑字体” WIN8上的“雅黑字体”
  2. 12306 js刷票脚本
  3. A column generation-based heuristic for aircraft recovery problem with airport capacity constraints
  4. 红警快修—IBM服务器X3650 M4 不能开机故障
  5. 极建立跨集团核电厂核事故应急救援
  6. 张亮穿泳裤出镜戏水耍酷 女粉丝见状大呼把持不住
  7. HUD 2094 产生冠军
  8. 大数据任务调度系统-Hera
  9. python dict sort_python sort dict 总结
  10. AD左侧菜单栏打开方法