<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        hammer.js實現移動端的圖片手勢放大功能

        來源:懂視網 責編:小采 時間:2020-11-27 19:54:11
        文檔

        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 tran
        推薦度:
        導讀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 tran

         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();

        相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

        推薦閱讀:

        Node.js文件系統操作

        es6解構有哪些方法

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        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 tran
        推薦度:
        標簽: 圖片 手勢 移動
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲日产乱码一二三区别| 中文字幕亚洲第一| 亚洲一级视频在线观看| 在线观看片免费人成视频无码| 相泽亚洲一区中文字幕| 一区二区视频在线免费观看| 亚洲性久久久影院| 久久国产乱子免费精品| 亚洲午夜未满十八勿入| 曰曰鲁夜夜免费播放视频| 亚洲中文精品久久久久久不卡| 在线观着免费观看国产黄| 搜日本一区二区三区免费高清视频| 免费一级一片一毛片| 国产免费AV片在线观看| 亚洲精品国产成人| 免费看的成人yellow视频| 美女露隐私全部免费直播| 亚洲精品夜夜夜妓女网| 97在线视频免费公开观看| 亚洲色偷偷综合亚洲av78| 亚洲国产精品日韩| 午夜精品免费在线观看 | 国产精品四虎在线观看免费| 菠萝菠萝蜜在线免费视频| 亚洲人成人网站色www| 足恋玩丝袜脚视频免费网站| 蜜芽亚洲av无码一区二区三区 | 911精品国产亚洲日本美国韩国| 四虎免费影院ww4164h| 美女又黄又免费的视频| 国产精品亚洲A∨天堂不卡| 国产免费久久精品99re丫y| 免费的黄色网页在线免费观看| 亚洲AV午夜福利精品一区二区 | 永久免费视频网站在线观看| 在线视频亚洲一区| 亚洲人成电影福利在线播放| 永久黄网站色视频免费直播 | 久久久久免费精品国产| 亚洲精品天堂无码中文字幕|