亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > html5觸摸事件判斷滑動方向的實(shí)現(xiàn)

html5觸摸事件判斷滑動方向的實(shí)現(xiàn)

熱門標(biāo)簽:威海營銷外呼系統(tǒng)招商 鄭州電銷外呼系統(tǒng)違法嗎 跟電銷機(jī)器人做同事 農(nóng)村住宅地圖標(biāo)注 濟(jì)南辦理400電話 ai電銷機(jī)器人連接網(wǎng)關(guān) 鶴壁手機(jī)自動外呼系統(tǒng)怎么安裝 中紳電銷智能機(jī)器人 漳州人工外呼系統(tǒng)排名

為了給觸摸界面提供有力支持, 觸摸事件提供了響應(yīng)用戶對觸摸屏或者觸摸板上操作的能力.

接口

TouchEvent

TouchEvent 是一類描述手指在觸摸平面(觸摸屏、觸摸板等)的狀態(tài)變化的事件。這類事件用于描述一個(gè)或多個(gè)觸點(diǎn),使開發(fā)者可以檢測觸點(diǎn)的移動,觸點(diǎn)的增加和減少,等等。每 個(gè) Touch 對象代表一個(gè)觸點(diǎn); 每個(gè)觸點(diǎn)都由其位置,大小,形狀,壓力大小,和目標(biāo) element 描述。 TouchList 對象代表多個(gè)觸點(diǎn)的一個(gè)列表.

觸摸事件的類型

為了區(qū)別觸摸相關(guān)的狀態(tài)改變,存在多種類型的觸摸事件。可以通過檢查觸摸事件的 TouchEvent.type 屬性來確定當(dāng)前事件屬于哪種類型

  1. touchstart:當(dāng)用戶在觸摸平面上放置了一個(gè)觸點(diǎn)時(shí)觸發(fā)。
  2. touchend:當(dāng)一個(gè)觸點(diǎn)被用戶從觸摸平面上移除(當(dāng)用戶將一個(gè)手指離開觸摸平面)時(shí)觸發(fā)。
  3. touchmove:當(dāng)用戶在觸摸平面上移動觸點(diǎn)時(shí)觸發(fā)。
  4. touchcancel:當(dāng)觸點(diǎn)由于某些原因被中斷時(shí)觸發(fā)。

判斷滑動方向

基本原理就是記錄開始滑動(touchStart)和結(jié)束滑動(touchEnd)的坐標(biāo)位置,然后進(jìn)行相對位置的計(jì)算。

touchStart:function(e){
    startX = e.touches[0].pageX;
    startY = e.touches[0].pageY;
    e = e || window.event;
 },
touchEnd:function(e){
    const that = this;
    endX = e.changedTouches[0].pageX;
    endY = e.changedTouches[0].pageY;
    that.upOrDown(startX,startY,endX,endY);
},
upOrDown:function (startX, startY, endX, endY) {
    const that = this;
    let direction = that.GetSlideDirection(startX, startY, endX, endY);
    switch(direction) {
      case 0:
        console.log("沒滑動");
        break;
      case 1:
        console.log("向上");
        break;
      case 2:
        console.log("向下");
        break;
      case 3:
        console.log("向左");
        break;
      case 4:
        console.log("向右");
        break;
      default:
        break;
    }
  },
//根據(jù)起點(diǎn)和終點(diǎn)返回方向 1:向上,2:向下,3:向左,4:向右,0:未滑動
  GetSlideDirection:function (startX, startY, endX, endY) {
    const that = this;
    let dy = startY - endY;
    let dx = endX - startX;
    let result = 0;
    //如果滑動距離太短
    if(Math.abs(dx) < 2 && Math.abs(dy) < 2) {
      return result;
    }
    let angle = that.GetSlideAngle(dx, dy);
    if(angle >= -45 && angle < 45) {
      result = 4;
    }else if (angle >= 45 && angle < 135) {
      result = 1;
    }else if (angle >= -135 && angle < -45) {
      result = 2;
    }
    else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
      result = 3;
    }
    return result;
  },
  //返回角度
  GetSlideAngle:function (dx, dy) {
    return Math.atan2(dy, dx) * 180 / Math.PI;
  }

原生JS方法

除了H5新增的方法外,還可以用原生JS判斷view的滑動方向,代碼如下(可直接運(yùn)行):

要注意的是chrome對document.body.scrollTop一直是0,需要改成document.documentElement.scrollTop

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title> 腳本之家(jb51.net)</title>
  <style>
    div {
      border: 1px solid black;
      width: 200px;
      height: 100px;
      overflow: scroll;
    }
  </style>
</head>
<body style="overflow: scroll">
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<h1>HEllo word</h1>
<script>
  function scroll( fn ) {
    var beforeScrollTop = document.documentElement.scrollTop,
      fn = fn || function() {};
    console.log('beforeScrollTop',beforeScrollTop);
    window.addEventListener("scroll", function() {
      var afterScrollTop = document.documentElement.scrollTop,
        delta = afterScrollTop - beforeScrollTop;
      console.log('beforeScrollTop',beforeScrollTop);
      console.log('afterScrollTop',afterScrollTop);
      if( delta === 0 ) return false;
      fn( delta > 0 ? "down" : "up" );
      beforeScrollTop = afterScrollTop;
    }, false);
  }

  scroll(function(direction) { console.log(direction) });
</script>

</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:惠州 咸陽 文山 萍鄉(xiāng) 甘南 蘇州 紅河 營口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html5觸摸事件判斷滑動方向的實(shí)現(xiàn)》,本文關(guān)鍵詞  html5,觸摸,事件,判斷,滑動,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《html5觸摸事件判斷滑動方向的實(shí)現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于html5觸摸事件判斷滑動方向的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    美女免费毛片| 免费国产在线观看| 国产精品自拍一区| 午夜激情视频在线播放| 亚洲www美色| 免费一级片在线观看| 色综合久久手机在线| 精品视频免费在线| 成人免费高清视频| 二级片在线观看| 超级乱淫黄漫画免费| 欧美另类videosbestsex视频| 欧美一级视频免费观看| 日本特黄特色aaa大片免费| 欧美电影免费| 中文字幕97| 欧美国产日韩在线| 美女免费精品高清毛片在线视| 中文字幕一区二区三区 精品| 国产不卡在线看| 国产高清在线精品一区二区 | 精品国产香蕉在线播出 | 欧美a级片视频| 亚欧视频在线| 九九精品在线播放| 九九精品久久| 日本免费区| 久久久久久久免费视频| 久久久久久久免费视频| 国产美女在线一区二区三区| 精品国产三级a| 国产成人精品一区二区视频| a级黄色毛片免费播放视频| 欧美一级视频免费观看| 色综合久久天天综合观看| 国产麻豆精品hdvideoss| 久久国产精品永久免费网站| 国产不卡精品一区二区三区| 日本在线不卡免费视频一区| 国产成人精品综合| 免费的黄视频| 国产一区免费观看| 午夜在线亚洲| a级毛片免费观看网站| 久久福利影视| 亚洲女人国产香蕉久久精品 | 韩国毛片 免费| 国产视频久久久久| 精品国产一区二区三区久久久狼| 成人免费福利片在线观看| 香蕉视频久久| 日韩av东京社区男人的天堂| 国产视频网站在线观看| 韩国三级香港三级日本三级la| 国产视频一区二区在线播放| 国产综合91天堂亚洲国产| 亚洲 男人 天堂| 成人免费网站视频ww| 一级毛片视频播放| 99色吧| 日韩专区在线播放| 欧美爱色| 国产高清在线精品一区a| 91麻豆tv| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产极品精频在线观看| 欧美电影免费| 成人av在线播放| 国产不卡在线播放| 成人免费观看男女羞羞视频| 久久国产影视免费精品| 日日日夜夜操| 91麻豆tv| 一a一级片| 可以免费看毛片的网站| 999精品在线| 超级乱淫黄漫画免费| 99久久精品国产国产毛片| 亚洲爆爽| 精品视频免费看| 成人影院一区二区三区| 国产国产人免费视频成69堂| 毛片的网站| 999精品在线| 99热热久久| 日本在线www| 日本伦理网站| 亚洲精品久久久中文字| 午夜久久网| 麻豆网站在线免费观看| 国产视频网站在线观看| 亚洲 男人 天堂| 青草国产在线观看| 99热精品一区| 国产麻豆精品视频| 国产麻豆精品视频| 91麻豆国产级在线| 日韩在线观看视频免费| 成人a大片高清在线观看| 色综合久久久久综合体桃花网| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 91麻豆爱豆果冻天美星空| 成人高清护士在线播放| 欧美一级视频免费| 韩国三级香港三级日本三级la| 人人干人人草| 亚洲 欧美 91| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 你懂的日韩| 国产精品自拍一区| 国产a网| 美女被草网站| 日韩字幕在线| 日本特黄特色aa大片免费| 99久久精品国产高清一区二区 | 成人影视在线播放| 亚洲不卡一区二区三区在线 | 成人高清视频免费观看| 成人免费观看视频| 韩国毛片 免费| 99久久精品国产高清一区二区 | 91麻豆精品国产片在线观看| a级黄色毛片免费播放视频| 日韩在线观看视频黄| 日韩在线观看视频网站| 国产麻豆精品视频| 免费一级片网站| 亚洲 国产精品 日韩| 韩国妈妈的朋友在线播放| 高清一级片| 国产91精品一区| 国产不卡在线播放| 91麻豆tv| 国产麻豆精品视频| 精品国产一区二区三区久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日日夜人人澡人人澡人人看免| 色综合久久手机在线| 九九九在线视频| 欧美国产日韩精品| 欧美日本韩国| 国产一区二区精品| 沈樵在线观看福利| a级毛片免费全部播放| 尤物视频网站在线观看| 日本在线不卡视频| 91麻豆精品国产片在线观看| 国产91精品一区| 中文字幕一区二区三区精彩视频 | 99色视频在线观看| 国产原创视频在线| 欧美a级大片| 精品视频在线观看一区二区三区| 国产一区二区精品在线观看| 黄视频网站在线观看| 久久精品免视看国产明星| 国产精品1024永久免费视频 | 99久久精品国产片| 91麻豆精品国产高清在线| 精品久久久久久免费影院| 99热精品一区| 天天做人人爱夜夜爽2020毛片| 国产一区精品| 精品国产一区二区三区久久久狼 | 日韩av成人| 麻豆系列 在线视频| 国产视频网站在线观看| 成人免费观看网欧美片| 高清一级片| 国产91视频网| 国产麻豆精品免费密入口 | 日韩男人天堂| 欧美一级视| 99久久精品国产片| 免费国产在线观看| 国产高清视频免费| 九九免费精品视频| 午夜激情视频在线播放| 人人干人人草| 你懂的日韩| 免费的黄视频| 99热精品一区| 麻豆系列国产剧在线观看| 你懂的日韩| 一级女性大黄生活片免费| 精品美女| a级毛片免费全部播放| 亚洲第一色在线| 亚洲精品久久玖玖玖玖| 国产精品1024永久免费视频 | 国产伦精品一区二区三区在线观看| 国产原创视频在线| 成人免费福利片在线观看| 日日夜夜婷婷| 精品视频免费观看| 九九免费高清在线观看视频| 一级毛片视频免费| 国产网站在线| 一级女性全黄久久生活片| 美女免费黄网站|