图片放大镜

一般情况下,手机由于屏幕太小,会有图片上看不清的问题,所以我就做了一个放大镜的js效果,支持pc和移动端。它的原理是利用的backgroundsize来实现的,所以你的浏览器首先要支持这个属性。

然后这个组件还是开源的git项目,你可以为它添加不支持backgroundsize时的解决方法。它的git地址是:图片放大镜github地址 https://github.com/tianxiangbing/image-zooming   ,它的在线演示地址是:js图片放大镜演示地址http://www.lovewebgames.com/jsmodule/image-zooming.html

image-zooming

图片放大镜 例子见DEMO 

使用方法案例:

<h1>始终显示放大镜</h1>
<img id="img1" src="a.png" alt="">
<p id="info1"></p>
<h1>只在点击触摸时显示放大镜</h1>
<img id="img2" src="a.png" alt="">
<p id="info2"></p>
<script type="text/javascript" src="../src/zepto.js"></script>
<script type="text/javascript" src="../src/image-zooming.js"></script>
<script>$('#img1').ImageZooming({times: 2,always: true,callback: function(a, b, c, d) {$('#info1').html('x: '+a.x+'    y:'+a.y);}});$('#img2').ImageZooming({times: 2,always: false,callback: function(a, b, c, d) {$('#info2').html('x: '+a.x+'    y:'+a.y);}});
</script>

  

或者requirejs

<h1>始终显示放大镜</h1><img id="img1" src="a.png" alt=""><p id="info1"></p>
<h1>只在点击触摸时显示放大镜</h1><img id="img2" src="a.png" alt=""><p id="info2"></p><script type="text/javascript" src="../src/zepto.js"></script><script type="text/javascript" src="../src/require.js"></script><script>requirejs.config({//By default load any module IDs from js/libbaseUrl: '../src',paths: {$: 'zepto'}});require(['image-zooming',"$"], function(ImageZooming,$){var lz = new ImageZooming();lz.init({target: $('#img1'),times: 2,always: true,callback: function(a, b, c, d) {$('#info1').html('x: ' + a.x + '    y:' + a.y);}});var lz2 = new ImageZooming();lz2.init({target: $('#img2'),times: 2,always: false,callback: function(a, b, c, d) {$('#info2').html('x: ' + a.x + '    y:' + a.y);}});});

  

属性和方法

target dom|string

需要放大的图片对象(仅支持图片<img>)

times int

放大的倍数,默认是2倍

height: int

放大镜的高度,默认100px

width: int

放大镜的宽度,默认100px

always bool

是否始终显示,默认为false,这时,需要放大时,可以鼠标点击图片或触摸时才显示放大镜.

handle bool

是否显示一个手柄,默认不显示,( 建议在触屏中显示手柄 )

callback: function(a,b,c,d)

放大镜移动的回调方法,其中参数a是{x:11,y:11}的位置对象,b\c是要定位的位置对象,d是放大镜的dom对象

转载于:https://www.cnblogs.com/tianxiangbing/p/image-zooming.html

[js开源组件开发]图片放大镜相关推荐

  1. JS简单实现京东图片放大镜效果

    效果图: 素材: 大图: 小图: 代码思路: 详见代码注释JS部分 代码: <!DOCTYPE html> <html lang="en"><head ...

  2. 前端资源:分享7 个常用的 Vue.js 开源组件库

    ❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#.Java开发九年,对数据库.C#.Java.前端.运维.电脑技巧等经验丰富. ❤️荣誉: CSDN博客专家. ...

  3. 微信小程序image组件开发程序以及相关图片问题参考资料汇总

    微信小程序image组件开发程序以及相关图片问题参考资料汇总,希望对大家小程序开发能有一定的参考和借鉴价值.以下汇总主要涉及到微信小程序image组件有关资源路径.缩放和剪裁模式等进行的探讨,无论是对 ...

  4. js室内地图开发_如何组件化开发WebGIS系统

    本文同发于本人博客:http://giscafer.com/2017/01/10/modularization-webgis/ 先啰嗦两句 前面聊过<探讨如何使用流行的前端技术开发WebGIS系 ...

  5. 360奇舞团钟恒:选用Vue.js进行组件化开发,我们遇到了哪些坑?

    责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_ ...

  6. 从零开始编写一个微信小程序(微信开发者工具+JS+WuxUI组件库+云开发)万字整理,建议收藏!

    微信小程序-魔镜 笔记&源码(微信开发者工具+JS+UI组件库+云开发) 效果展示 视频演示 经历了一次升级之后,我的小程序怎么样了? 文章目录 微信小程序-魔镜 笔记&源码(微信开发 ...

  7. Magnifier.js - 支持鼠标滚轮缩放的图片放大镜效果

    Magnifier.js 是一个 JavaScript 库,能够帮助你在图像上实现放大镜效果,支持使用鼠标滚轮放大/缩小功能.放大的图像可以显示在镜头本身或它的外部容器中.Magnifier.js 使 ...

  8. 前端七十二变之vue.js组件开发

    1.ES6语法 ES6是JavaScript语言的新版本,它也可以叫做ES2015,之前学习的JavaScript属于ES5,ES6在它的基础上增加了一些语法,ES6是未来JavaScript的趋势, ...

  9. 两个读书笔记:springboot+vue.js分布式组件全栈开发训练营 + 大数据开发基础

    (springboot+vue.js分布式组件全栈开发训练营原文在notion中, 大数据开发在思维导图中, 这个博客只是保存, 无法阅读. ) what is different between s ...

最新文章

  1. CSS有效的编写代码
  2. buu rsarsa
  3. 计蒜客(三角形的内点)
  4. zookeeper安装笔记
  5. 邮件服务器收件人数量限制,邮件服务器DBMail
  6. MHA masterha_check_ssh 报错
  7. java二分查找法视频_078-二分查找算法思路图解
  8. select 与case 以及函数练习
  9. 第九章:第九章:XML文档集成---Axd向导
  10. 项目从 tomcat7部署到tomcat8
  11. 人工智能数学基础:泰勒(Taylor)公式
  12. 如何把flv格式转成mp4格式?
  13. 《图解TCP/IP》——第一章 网络基础知识
  14. linux进阶-scp命令及相关传输命令全get
  15. 华为P30虽好但太贵?2699元起的荣耀20系列来了
  16. 平安人寿“内鬼”泄露近4万条公民信息
  17. Navicate管理工具的使用
  18. 修改计算机中文用户名,Win10电脑将中文登录用户名更改为英文名的方法
  19. DRM框架(vkms)分析(3)----connector->func connector->helper_private的使用
  20. 自动投票器的原理及设计思路 http://blog.csdn.net/lkfstar/archive/2008/01/12/2039070.aspx

热门文章

  1. SQL Server 2012笔记分享-29:日志文件的工作方式
  2. oracle查找外键表
  3. 如何保证电子邮件的安全
  4. [MongoDB]db.serverStatus()命令详解
  5. java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12问题
  6. android 解决password过时
  7. android setGravity()的使用
  8. Binder ThreadPoolMax default = 15
  9. 【Redis】2. Redis数据类型 String以及key的设置约定
  10. Java 对象初始化过程