一 前言

客户的需求就是上帝的召唤。

作为一个开发人员,或者软件从业者,客户的要求就是准则。

遇到一个客户,让我做一个图片放大,但是移动拖拽要定位精准。之前研究过一个hammer插件,多次尝试放大后的触摸点定位问题,始终无法解决。客户的需求可以理解,因为不是简单的图片介绍,而是复杂的工程图纸。最后求助于jquery插件easyzomm,达到了客户的要求。今天,把实例贴出来,供大家学习交流。

二 效果演示

三 设计思路与代码实现

1 下载并引入easyzoom.js插件

2 修改并简化dom结构

(注)1在easyzoom的示例中,图片放置了两层,上面是图片,下面是底图。我这里进行了简化。在div里套一个a链接标签,a链接标签里再套一个image图片。

2 在easyzoom的结构中,image是实际图片,a链接里临时存储放大后的图片。

3 div,a,image 三个元素,id和class可以手动修改和添加,与后面的jquery选择器调用一致即可。

3 页面接参并修改图片url

(注)image和a链接两个标签,用jquery的id选择器,选择后把图片url用attr修改属性方法传参

4 easyzoom插件调用

这么简单,对,就这么简单,找到div元素,执行easyZoom()方法。图片就可以实现触摸并移动放大。经测试,支持手指和鼠标。

(注)经测试,所用的jquery插件方法调用必须写在 modelLoad中。

四 总结

1 复杂设计问题,离开wex5向jquery插件寻求解决之道

2 根据插件示例修改dom元素结构。

3 在modelLoad中调用jquery插件的方法。

wex5 实战 图片触摸放大移动插件easyzoom的使用与集成的更多相关文章

  1. 图片放大功能插件及jquery.extend函数理解

    前端时间,产品提出社区评论中的图片需要有放大功能.感觉可以共用,所以就想整合一个插件,过程中也借鉴了一些例子. 分析下自己的代码思路: var scaleImg = function(opts) { ...

  2. Android 手势滑动,多点触摸放大缩小图片

    效果展示: 基本思路: <1>首先写一个图片控制类ImageControl,实现对图片控制的的基本操作,我们的图片控制类ImageControl是继承自ImageView自定义的视图: & ...

  3. PhotoSwipe-一个好用的图片放大缩小插件

    通过GitHub 下载PhotoSwipe https://github.com/dimsemenov/PhotoSwipe 相关的库 <link rel="stylesheet&qu ...

  4. 【VUE】图片预览放大缩小插件

    From: https://www.jianshu.com/p/e3350aa1b0d0 在看项目时,突然看到预览图片的弹窗,感觉好僵硬,不能放大,不能切换,于是便在网上找下关于图片预览的插件,有找到 ...

  5. 图片剪切之Croppic插件

    前几天做图片上传时需要进行图片的剪切和缩放,上网查找时找到了这个插件.样式很好看,功能也很OK.但是网上都是php进行后台处理图片的例子,然后只好慢慢琢磨C#的处理.插件地址是:http://www. ...

  6. WPF多点触摸放大缩小旋转

    原文:WPF多点触摸放大缩小旋转 版权声明:本文为博主原创文章,需要转载尽管转载. https://blog.csdn.net/z5976749/article/details/40118437 如果 ...

  7. PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件

    PHP  多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用:http://fex.baidu.com/webuploader/gett ...

  8. javascript设计模式实践之职责链--具有百叶窗切换图片效果的JQuery插件(三)

    在上一篇<javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)>里,通过采用模板方法模式完成了切换效果对象的构建编写. 接下来就是完成各效果对象的调 ...

  9. javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)

    在上一篇<javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)>里,通过采用迭代器模式完成了各初始化函数的定义和调用. 接下来就要完成各个切换效果的编 ...

随机推荐

  1. ZOJ 2771

      Description Considering a light entering three adjacent planes of glass. At any meeting surface, t ...

  2. php 常见问题

    empty(trim($str))报错原因 一个if判断如下: if (!empty(trim($a))) { ... } 报出如下错误: Fatal error: Can't use functio ...

  3. web系统登陆页面增加验证码

    传统登陆页面中包含两个输入项: • 用户名 • 密码有时为了防止机器人进行自动登陆操作,或者防止恶意用户进行用户信息扫描,需增加动态验证码功能.此时,登陆页面中包含了三个输入项: • 用户名 • 密码 ...

  4. 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具

    ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...

  5. python+selenium生成测试报告后自动发送邮件

    标签(空格分隔): 自动化测试 运行自动化脚本后,会产生测试报告,而将测试报告自动发送给相关人员,能够让对方及时的了解测试情况,查看测试结果. 整个脚本包括三个部分: 生成测试报告 获取最新的测试报告 ...

  6. 转:HAR(HTTP Archive)规范

    HAR(HTTP Archive),是一个用来储存HTTP请求/响应信息的通用文件格式,基于JSON.这个格式的出现可以使HTTP监测工具以一种通用的格式导出所收集的数据,这些数据可以被其他支持HAR ...

  7. 任务9user表建表语句

    create table user( id int not null auto_increment primary key, username ) not null default '', pwd ) ...

  8. Python学习【第三篇】Python变量

    变量 声明变量 #!/usr/bin/env python name = "Bourbon" 上述代码声明了一个变量,变量名为:name,变量的值为:"Bourbon&q ...

  9. Nginx+uwsgi安装配置

    一.安装基础开发包 yum groupinstall "Development tools" yum install zlib-devel bzip2-devel pcre-dev ...

  10. scp使用

    从82服务器复制文件 scp -P 50028 -r root@***.**.**.82:/data/upload.tar / -P:指定非ftp22端口