全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

hammer.js实现图片手势放大效果

本文实例为大家分享了hammer.js实现图片手势放大效果的具体代码,供大家参考,具体内容如下

 //图片手势放大
      var reqAnimationFrame = (function() {
        return window[Hammer.prefixed(window, 'requestAnimationFrame')] || function(callback) {
          window.setTimeout(callback, 1000 / 60);
        };
      })();
      var el = $('img');
      var ticking = false;
      var transform;
      var initScale = 1;
      var _eImg = '';
      for (var m = 0; m < el.length; m++) {
        var mc = new Hammer.Manager(el[m]);
        mc.add(new Hammer.Pan({
          threshold: 0,
          pointers: 0
        }));
        mc.add(new Hammer.Swipe()).recognizeWith(mc.get('pan'));
        mc.add(new Hammer.Pinch({
          threshold: 0
        })).recognizeWith(mc.get('pan'));
        mc.on('panstart panmove', onPan);
        mc.on('pinchstart pinchmove', onPinch);
        mc.on('swipe', onSwipe);
      }

      function resetElement() {
        el.addClass('animate');
        transform = {
          translate: {
            x: 0,
            y: 0
          },
          scale: 1,
          angle: 0,
          rx: 0,
          ry: 0,
          rz: 0
        };
        requestElementUpdate();
      }

      function updateElementTransform() {
        var value = ['translate3d(' + transform.translate.x + 'px, ' + transform.translate.y + 'px, 0)', 'scale(' + transform.scale + ', ' + transform.scale + ')', 'rotate3d(' + transform.rx + ',' + transform.ry + ',' + transform.rz + ',' + transform.angle + 'deg)'];
        value = value.join(' ');
        if (_eImg != '') {
          _eImg.style.webkitTransform = value;
          _eImg.style.mozTransform = value;
          _eImg.style.transform = value;
          //_eImg.css({ 'transform': value }, { '-webkit-transform': value });
        }
        ticking = false;
      }

      function requestElementUpdate() {
        if (!ticking) {
          reqAnimationFrame(updateElementTransform);
          ticking = true;
        }
      }

      function onPan(ev) {
        el.removeClass('animate');
        transform.translate = {
          x: ev.deltaX,
          y: ev.deltaY
        };
      }

      function onPinch(ev) {
        if (ev.type == 'pinchstart') {
          initScale = transform.scale || 1;
        }
        el.removeClass('animate');
        transform.scale = initScale * ev.scale;
        requestElementUpdate();
        _eImg = ev.target;
        return _eImg;
      }

      function onSwipe(ev) {
        var angle = 10;
        transform.ry = (ev.direction & Hammer.DIRECTION_HORIZONTAL) ? 1 : 0;
        transform.rx = (ev.direction & Hammer.DIRECTION_VERTICAL) ? 1 : 0;
        transform.angle = (ev.direction & (Hammer.DIRECTION_RIGHT | Hammer.DIRECTION_UP)) ? angle : -angle;
        requestElementUpdate();
        _eImg = ev.target;
        return _eImg;
      }
      resetElement();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# hammer.js图片手势放大  # hammer.js手势放大  # hammer.js图片放大  # javascript实现商品图片放大镜  # js实现点击图片在屏幕中间弹出放大效果  # JavaScript实现图片放大镜效果  # JavaScript实现多张图片放大镜效果示例【不限定图片尺寸  # rem单位】  # JavaScript实现图片的放大缩小及拖拽功能示例  # js实现图片局部放大效果详解  # js实现图片放大并跟随鼠标移动特效  # JS滚轮控制图片缩放大小和拖动的实例代码  # JS与CSS3实现图片响应鼠标移动放大效果示例  # JS实现图片放大镜插件详解  # js实现图片放大展示效果  # JavaScript实现图片放大预览效果  # 大家分享  # 具体内容  # 大家多多  # lt  # length  # add  # Manager  # mc  # false  # ticking  # transform  # _eImg  # initScale  # Pinch  # pan  # panstart  # onPan  # panmove  # threshold 


相关文章: 常州企业网站制作公司,全国继续教育网怎么登录?  如何在宝塔面板中修改默认建站目录?  如何选择网络建站服务器?高效建站必看指南  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  如何在阿里云虚拟主机上快速搭建个人网站?  为什么Go需要go mod文件_Go go mod文件作用说明  深圳网站制作的公司有哪些,dido官方网站?  建站主机选虚拟主机还是云服务器更好?  Swift中switch语句区间和元组模式匹配  如何快速选择适合个人网站的云服务器配置?  如何获取PHP WAP自助建站系统源码?  如何在阿里云完成域名注册与建站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  建站之星ASP如何实现CMS高效搭建与安全管理?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  建站之星logo尺寸如何设置最合适?  已有域名和空间如何搭建网站?  公司门户网站制作流程,华为官网怎么做?  如何通过免费商城建站系统源码自定义网站主题与功能?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  完全自定义免费建站平台:主题模板在线生成一站式服务  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何在VPS电脑上快速搭建网站?  建站之星后台密码遗忘或太弱?如何重置与强化?  专业网站建设制作报价,网页设计制作要考什么证?  郑州企业网站制作公司,郑州招聘网站有哪些?  建站主机服务器选购指南:轻量应用与VPS配置解析  如何安全更换建站之星模板并保留数据?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何快速查询网址的建站时间与历史轨迹?  ui设计制作网站有哪些,手机UI设计网址吗?  如何在阿里云ECS服务器部署织梦CMS网站?  建站主机数据库如何配置才能提升网站性能?  建站org新手必看:2024最新搭建流程与模板选择技巧  江苏网站制作公司有哪些,江苏书法考级官方网站?  制作表格网站有哪些,线上表格怎么弄?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何选择高效稳定的ISP建站解决方案?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  西安专业网站制作公司有哪些,陕西省建行官方网站?  建站168自助建站系统:快速模板定制与SEO优化指南  佛山企业网站制作公司有哪些,沟通100网上服务官网?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  公司网站制作费用多少,为公司建立一个网站需要哪些费用? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。