h5實現(xiàn)手勢操作放大縮小拖動等

最近開發(fā)遇到了這個需求誊抛,使用vue開發(fā)h5加一個手勢放大縮小的功能,移動端的手勢操作用原生的寫法太麻煩剩晴,而且體驗還不好较木,所以從github找到一個hammer.js的一個手勢操作插件。
官方文檔地址:http://hammerjs.github.io/
文檔寫的一般的蔚龙,看的不怎么明白冰评,又從網(wǎng)上查了一些別人做過的案例,這個插件可以實現(xiàn)功能木羹,但是一些邏輯還是得自己寫甲雅。
實現(xiàn)手勢縮放用到了插件的pinch翻譯就是捏的意思,使用也遇到一些坑坑填。
1抛人、首先下載這個插件

cnpm install hammerjs --save

2、然后在使用的組件頁面引入

import Hammer from 'hammerjs'

3脐瑰、初始化插件妖枚,找到指定的dom節(jié)點。手勢縮放默認(rèn)是禁調(diào)的苍在,需要設(shè)置開啟盅惜。
4、手勢縮放在pinch回調(diào)函數(shù)里面的e的對象里面封裝了一個scale的屬性忌穿,就是代表這個縮放大小,但是有一個問題结啼,每次縮放完畢之后掠剑,再次縮放scale就會重置為1所以需要判斷是不是第一次縮放,記錄縮放之后的值郊愧,以相乘的方式進(jìn)行比例縮放朴译,測試之后是可行的。更多功能參考官方文檔属铁。
5眠寿、拖動用到了pan,拖動有向上拖動panup焦蘑,向下拖動pandown盯拱,向左拖動panleft,向右拖動panright,拖動開始panstart狡逢,拖動結(jié)束panend宁舰,拖動通過e.deltaX,e.deltalY來計算移動的距離奢浑,我用的是css3translate蛮艰,拖動結(jié)束記錄結(jié)束的delatX delatY,在拖動的時候當(dāng)前的的delatX delatY加上記錄的delatX delatY雀彼,這樣就能實現(xiàn)無縫拖動壤蚜。拖動不能影響縮放,已經(jīng)縮放徊哑,在做東的時候也要把縮放加上袜刷。
6,雙擊实柠,連續(xù)點擊兩次doubletap之后水泉,還原拖動和縮放。

this.$nextTick(()=>{
        let x=0;
        let y=0;       
        let _node=this.$refs.main.querySelector('#pageContainer'+PageNumber);
        let hand=new Hammer(_node);
        hand.get('pinch').set({enable:true});
        hand.on("pinchmove pinchstart pinchin pinchout",e => {//縮放
             if(e.type == "pinchstart"){
                this.scaleIndex = this.scaleCount || 1;
            }
            this.scaleCount= this.scaleIndex*e.scale;
            _node.style.transform = "scale(" + (this.scaleIndex * e.scale)+ ")"
        });
         hand.on('doubletap',(e)=>{//雙擊
          x=0;
          y=0;
          this.scaleCount=1;
          _node.style.transform = "translateX(0px) translateY(0px) scale(1)";
        })
        hand.on('panright panleft panup pandown',(e)=>{//拖動
            _node.style.transform="translateX("+(e.deltaX+x)+"px)"+"translateY("+(e.deltaY+y)+"px)"+"scale(" + (this.scaleCount * e.scale)+ ")"
        })
        hand.on('panend',(e)=>{
           x=e.deltaX+x;
           y=e.deltaY+y;
        })
      })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末窒盐,一起剝皮案震驚了整個濱河市草则,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蟹漓,老刑警劉巖炕横,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異葡粒,居然都是意外死亡份殿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門嗽交,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爷肝,“玉大人,你說我怎么就攤上這事敌蜂∏煨担” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵盒让,是天一觀的道長梅肤。 經(jīng)常有香客問我,道長邑茄,這世上最難降的妖魔是什么姨蝴? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮肺缕,結(jié)果婚禮上左医,老公的妹妹穿的比我還像新娘授帕。我一直安慰自己,他們只是感情好炒辉,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布豪墅。 她就那樣靜靜地躺著,像睡著了一般黔寇。 火紅的嫁衣襯著肌膚如雪偶器。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天缝裤,我揣著相機(jī)與錄音屏轰,去河邊找鬼。 笑死憋飞,一個胖子當(dāng)著我的面吹牛霎苗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播榛做,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼唁盏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了检眯?” 一聲冷哼從身側(cè)響起厘擂,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锰瘸,沒想到半個月后刽严,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡避凝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年舞萄,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片管削。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡倒脓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出含思,到底是詐尸還是另有隱情把还,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布茸俭,位于F島的核電站,受9級特大地震影響安皱,放射性物質(zhì)發(fā)生泄漏调鬓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一酌伊、第九天 我趴在偏房一處隱蔽的房頂上張望腾窝。 院中可真熱鬧缀踪,春花似錦、人聲如沸虹脯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽循集。三九已至唇敞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間咒彤,已是汗流浹背疆柔。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留镶柱,地道東北人旷档。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像歇拆,于是被迫代替她去往敵國和親鞋屈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 效果圖: Github鏈接:https://github.com/boycy815/PinchImageView ...
    CQ_TYL閱讀 2,211評論 0 0
  • 文/好奇貓(自編詞) 清秋瑟雨 故觅,焚香爐厂庇,依窗嘆 ,風(fēng)撩簾逻卖。 冷杯宋列,無人歡,水滴匯成流 评也,捎殘紅葉黃 炼杖。 酒漸酣 ...
    頑皮之好奇貓閱讀 202評論 0 4
  • 寶融的故事閱讀 198評論 0 0
  • 2018.4.29 地點:陽陽中國飯 堂食 本來打算睡到自然醒,結(jié)果被早上的裝修聲吵醒盗迟,正好昨...
    香菇怪足各子閱讀 314評論 0 0
  • □郭樹賓 緊約束慢控制坤邪,在故鄉(xiāng)老家呆了5天,竟然參與了大小10余場飯局罚缕。 最夸張的是返京前一天艇纺,中午兩小場受之有愧...
    賓天下閱讀 230評論 0 5