久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

HTML5 手勢(shì)檢測(cè)原理和實(shí)現(xiàn)

隨著 Hybrid 應(yīng)用的豐富,HTML5 工程師們已經(jīng)不滿(mǎn)足于把桌面端體驗(yàn)簡(jiǎn)單移植到移動(dòng)端,他們覬覦移動(dòng)原生應(yīng)用人性化的操作體驗(yàn),特別是原生應(yīng)用與生俱來(lái)的豐富的手勢(shì)系統(tǒng)。HTML5 沒(méi)有提
 

  前言


  隨著 Hybrid 應(yīng)用的豐富,HTML5 工程師們已經(jīng)不滿(mǎn)足于把桌面端體驗(yàn)簡(jiǎn)單移植到移動(dòng)端,他們覬覦移動(dòng)原生應(yīng)用人性化的操作體驗(yàn),特別是原生應(yīng)用與生俱來(lái)的豐富的手勢(shì)系統(tǒng)。HTML5 沒(méi)有提供開(kāi)箱即用的手勢(shì)系統(tǒng),但是提供了更底層一些的對(duì) touch 事件的監(jiān)聽(tīng)。基于此,我們可以做出自己的手勢(shì)庫(kù)。


  手勢(shì)


  常用的 HTML5 手勢(shì)可以分為兩類(lèi),單點(diǎn)手勢(shì)和兩點(diǎn)手勢(shì)。單點(diǎn)手勢(shì)有 tap(單擊),double tap(雙擊),long tap(長(zhǎng)按),swipe(揮),move(移動(dòng))。兩點(diǎn)手勢(shì)有 pinch(縮放),rotate(旋轉(zhuǎn))。


  接下來(lái)我們實(shí)現(xiàn)一個(gè)檢測(cè)這些手勢(shì)的 javaScript 庫(kù),并利用這個(gè)手勢(shì)庫(kù)做出炫酷的交互效果。



HTML5 手勢(shì)檢測(cè)原理和實(shí)現(xiàn)



  移動(dòng)


  關(guān)于移動(dòng)手勢(shì)檢測(cè)我們這里不再贅述。總結(jié)一下就是在每次touchmove事件發(fā)生時(shí),把兩個(gè)位移點(diǎn)之間的坐標(biāo)位置相減,就可以了。


  單擊(tap)


  手勢(shì)檢測(cè)的關(guān)鍵是用 touchstart,touchmove,touchend 三個(gè)事件對(duì)手勢(shì)進(jìn)行分解。


  那么怎么分解單擊事件呢?


  1. 在 touchstart 發(fā)生時(shí)進(jìn)入單擊檢測(cè),只有一個(gè)接觸點(diǎn)。因?yàn)閱螕羰录拗茷橐粋€(gè)手指的動(dòng)作。
  2. 沒(méi)有發(fā)生 touchmove 事件或者 touchmove 在一個(gè)很小的范圍(如下圖)。限制 touchmove 在一個(gè)很小范圍,是為了給用戶(hù)一定的冗余空間,因?yàn)椴荒鼙WC用戶(hù)手指在接觸屏幕的時(shí)候不發(fā)生輕微的位移。



HTML5 手勢(shì)檢測(cè)原理和實(shí)現(xiàn)



  3.touchend 發(fā)生在 touchstart后的很短時(shí)間內(nèi)(如下圖)。這個(gè)時(shí)間段的閾值是毫秒級(jí),用來(lái)限制手指和屏幕接觸的時(shí)間。因?yàn)閱螕羰录拈_(kāi)始到結(jié)束是很快的。




HTML5 手勢(shì)檢測(cè)原理和實(shí)現(xiàn)


  有了上面的流程,就可以開(kāi)始實(shí)現(xiàn) tap 事件監(jiān)測(cè)了。

_getTime() {

  return new Date().getTime(); 

}

_onTouchStart(e) {

    //記錄touch開(kāi)始的位置

    this.startX = e.touches[0].pageX;

    this.startY = e.touches[0].pageY;

    if(e.touches.length > 1) {

      //多點(diǎn)監(jiān)測(cè)

      ...

    }else {

      //記錄touch開(kāi)始的時(shí)間

      this.startTime = this._getTime();

    }

 }

_onTouchMove(e) {

  ...

  //記錄手指移動(dòng)的位置

  this.moveX = e.touches[0].pageX;

  this.moveY = e.touches[0].pageY;

  ...

}

_onTouchEnd(e) {

  let timestamp = this._getTime();

  if(this.moveX !== null && Math.abs(this.moveX - this.startX) > 10 ||

    this.moveY !== null && Math.abs(this.moveY - this.startY) > 10) {

      ...

  }else {

    //手指移動(dòng)的位移要小于10像素并且手指和屏幕的接觸時(shí)間要短語(yǔ)500毫秒

    if(timestamp - this.startTime < 500) {

      this._emitEvent('onTap')

    }

  }

}

  


      雙擊(double tap)


  和單擊一樣,雙擊事件也需要我們對(duì)手勢(shì)進(jìn)行量化分解。


【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

由于實(shí)際運(yùn)行環(huán)境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會(huì)達(dá)到,所以這部分不是開(kāi)發(fā)者能夠決定的,開(kāi)發(fā)者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個(gè)自定義的視頻播放器,需要用到HTML5提供的video標(biāo)簽、以及HTML5提供的對(duì)JavascriptAPI的擴(kuò)展。,HTML5中國(guó),中國(guó)最大的HTML5中文門(mén)戶(hù)。
你想要在自己網(wǎng)站上分享一個(gè)產(chǎn)品,或者是一個(gè)作品集,又或者僅僅只是一個(gè)靈感。在你發(fā)布到網(wǎng)上之前,你想讓它看起來(lái)有吸引力,專(zhuān)業(yè),或者至少得看起來(lái)像那么回事。那么你接下
H5廣告,包括H5廣告的設(shè)計(jì)流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專(zhuān)門(mén)做了一個(gè)講義。同時(shí),也讓我意外的收到了非常好反饋和認(rèn)!這是對(duì)我的極大鼓勵(lì)!我的
本文主要內(nèi)容有:框架與組件、構(gòu)建生態(tài)、開(kāi)發(fā)技巧與調(diào)試、html、css與重構(gòu)、native/hybrid/桌面開(kāi)發(fā)、前端/H5優(yōu)化、全棧/全端開(kāi)發(fā)、研究實(shí)驗(yàn)、數(shù)據(jù)分析與監(jiān)控、其它軟技能、前端技術(shù)網(wǎng)
H5Slides是一款基于HTML5的輕量級(jí)幻燈片播放系統(tǒng),以前我們給客戶(hù)演示幻燈片時(shí),還需要在機(jī)器上安裝ppt軟件,有時(shí)還會(huì)因?yàn)榘姹締?wèn)題安裝失敗,影響演示的進(jìn)度。但是如果能用瀏覽器來(lái)
主站蜘蛛池模板: 精品久久久久久久久久久下田 | 久久久国产一区二区三区 | 久久久久久久久精 | 亚洲精品黄色 | 欧美国产精品久久久 | 亚洲视频一区在线观看 | 中文字幕视频在线观看 | 久草免费在线视频 | 亚洲欧美一区二区三区国产精品 | 国产精品永久免费观看 | 国精日本亚洲欧州国产中文久久 | 中文字幕一区二区三区四区五区 | 国产一伦一伦一伦 | 亚洲一区二区电影网 | 久久国产免费看 | 国产一区| 女生羞羞网站 | 成年人在线视频 | 欧美一级片久久 | 国产精品99久久久久 | 一区二区三区视频在线 | 国产亚洲网站 | 亚洲第一成人av | 欧美亚洲视频在线观看 | 伊人久久在线观看 | 亚洲精品黄色 | 久久精品成人 | 九一精品 | 在线观看中文字幕av | 国产成人99久久亚洲综合精品 | 欧美日韩亚洲一区 | 亚洲视频区 | 久久久久久久久久久福利观看 | 日韩在线视频一区 | 欧美一区二区成人 | 久久综合久色欧美综合狠狠 | 久久免费看 | 亚洲精品一区二区三区中文字幕 | 久久久久国产 | 国产一区久久精品 | 欧美白人做受xxxx视频 |