js判斷手指的上滑,下滑,左滑,右滑,事件監聽 和 判斷鼠標滾輪向上滾動滑輪向下滾動

js判斷手指的上滑,下滑,左滑,右滑,事件監聽 和 判斷鼠標滾輪向上滾動滑輪向下滾動

pc端 判斷鼠標滾輪向上滾動滑輪向下滾動

const scrollFunc = (e) => {
e = e || window.event;
let wheelDelta = e.wheelDelta ? e.wheelDelta : -e.detail * 50;
if (wheelDelta > 0) {
console.log(wheelDelta + ‘滑輪向上滾動’);
let dom = document.querySelector(‘.header-contanier’);
dom.style.display = ‘flex’;

let dom2 = document.querySelector('.navNull');
dom2.style.display = 'block';

}
if (wheelDelta < 0) {
console.log(wheelDelta + ‘滑輪向下滾動’);
let dom = document.querySelector(‘.header-contanier’);
let dom2 = document.querySelector(‘.navNull’);
dom.style.display = ‘none’;
dom2.style.display = ‘none’;
}
};
if (document.addEventListener) {
//火狐使用DOMMouseScroll綁定
document.addEventListener(‘DOMMouseScroll’, scrollFunc, false);
}
//其他瀏覽器直接綁定滾動事件
window.onmousewheel = document.onmousewheel = scrollFunc; //IE/Opera/Chrome

移動端 js判斷手指的上滑,下滑,左滑,右滑,事件監聽

// touchstart: //手指放到屏幕上時觸發
// touchmove: //手指在屏幕上滑動式觸發
// touchend: //手指離開屏幕時觸發
// touchcancel: //系統取消touch事件的時候觸發,這個好像比較少用
let startX: number = 0;
let startY: number = 0;
document.addEventListener(
‘touchstart’,
(e) => {
e.preventDefault();
// console.log(e);
startX = e.changedTouches[0].pageX;
startY = e.changedTouches[0].pageY;
},
false,
);
// document.addEventListener(
// ‘touchend’,
// (e) => {
// e.preventDefault();
// console.log(e);
// },
// false,
// );
document.addEventListener(
‘touchmove’,
(e) => {
// e.preventDefault();
let moveEndX = e.changedTouches[0].pageX;
let moveEndY = e.changedTouches[0].pageY;
let X = moveEndX - startX;
let Y = moveEndY - startY;

if (Math.abs(X) > Math.abs(Y) && X > 0) {console.log('right');
} else if (Math.abs(X) > Math.abs(Y) && X < 0) {console.log('left');
} else if (Math.abs(Y) > Math.abs(X) && Y > 0) {console.log('bottom');
} else if (Math.abs(Y) > Math.abs(X) && Y < 0) {console.log('top');
} else {alert('just touch');
}

},
false,
);

主要代碼塊


const scrollFunc = (e) => {e = e || window.event;let wheelDelta = e.wheelDelta ? e.wheelDelta : -e.detail * 50;if (wheelDelta > 0) {console.log(wheelDelta + '滑輪向上滾動');let dom = document.querySelector('.header-contanier');dom.style.display = 'flex';let dom2 = document.querySelector('.navNull');dom2.style.display = 'block';}if (wheelDelta < 0) {console.log(wheelDelta + '滑輪向下滾動');let dom = document.querySelector('.header-contanier');let dom2 = document.querySelector('.navNull');dom.style.display = 'none';dom2.style.display = 'none';}
};
if (document.addEventListener) {//火狐使用DOMMouseScroll綁定document.addEventListener('DOMMouseScroll', scrollFunc, false);
}
//其他瀏覽器直接綁定滾動事件
window.onmousewheel = document.onmousewheel = scrollFunc; //IE/Opera/Chrome// touchstart:     //手指放到屏幕上時觸發
// touchmove:      //手指在屏幕上滑動式觸發
// touchend:    //手指離開屏幕時觸發
// touchcancel:     //系統取消touch事件的時候觸發,這個好像比較少用
let startX: number = 0;
let startY: number = 0;
document.addEventListener('touchstart',(e) => {e.preventDefault();// console.log(e);startX = e.changedTouches[0].pageX;startY = e.changedTouches[0].pageY;},false,
);
// document.addEventListener(
//   'touchend',
//   (e) => {
// e.preventDefault();
//     console.log(e);
//   },
//   false,
// );
document.addEventListener('touchmove',(e) => {// e.preventDefault();let moveEndX = e.changedTouches[0].pageX;let moveEndY = e.changedTouches[0].pageY;let X = moveEndX - startX;let Y = moveEndY - startY;if (Math.abs(X) > Math.abs(Y) && X > 0) {console.log('right');} else if (Math.abs(X) > Math.abs(Y) && X < 0) {console.log('left');} else if (Math.abs(Y) > Math.abs(X) && Y > 0) {console.log('bottom');} else if (Math.abs(Y) > Math.abs(X) && Y < 0) {console.log('top');} else {alert('just touch');}},false,
);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42641.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42641.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42641.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Clould 部署 - Docker

視頻地址&#xff1a;微服務&#xff08;SpringCloudRabbitMQDockerRedis搜索分布式&#xff09; 初識Docker-什么是Docker&#xff08;P42&#xff0c;P43&#xff09; 微服務雖然具備各種各樣的優勢&#xff0c;但服務的拆分通用給部署帶來了很大的麻煩。 分布式系統中&…

[強網杯 2019]隨便注

輸入1‘ 輸入1“ 和輸入1 一樣說明是由‘閉合 然后我們嘗試輸入select 這里提示過濾了select&#xff0c;說明聯合查詢&#xff0c;報錯注入&#xff0c;布爾,時間盲注就都不可以使用了。我們只剩下了 堆疊注入。 或者將select編碼繞開也可以。 按sql注入測試1 or 11 # ?然…

Unity 物體的運動之跟隨鼠標

你想讓鼠標點擊哪里&#xff0c;你的運動的對象就運動到哪里嗎&#xff1f; Please follow me ! 首先&#xff0c;你要先添加一個Plane ,以及你的圍墻&#xff0c;你的移動的物體 想要實現跟隨鼠標移動&#xff0c;我們先創建一個腳本 using System.Collections; using Syst…

銅卡計混合法比熱測試儀絕熱量熱計的高精度主動控制解決方案

摘要&#xff1a;在下落法比熱容測試中絕熱量熱計的漏熱是最主要誤差源&#xff0c;為實現絕熱量熱計的低漏熱要求&#xff0c;本文介紹了主動護熱式等溫絕熱技術以及相應的解決方案。方案的核心一是采用循環水冷卻金屬圓筒給量熱計和護熱裝置提供低溫環境或恒定冷源&#xff0…

黑馬點評-項目集成git及redis實現短信驗證碼登錄

目錄 IDEA集成git 傳統session存在的問題 redis方案 業務流程 選用的數據結構 整體訪問流程 發送短信驗證碼 獲取校驗驗證碼 配置登錄攔截器 攔截器注冊配置類 攔截器 用戶狀態刷新問題 刷新問題解決方案 IDEA集成git 遠程倉庫采用碼云&#xff0c;創建好倉庫&…

【O2O領域】Axure外賣訂餐騎手端APP原型圖,外賣配送原型設計圖

作品概況 頁面數量&#xff1a;共 110 頁 兼容軟件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 應用領域&#xff1a;外賣配送、生鮮配送 作品申明&#xff1a;頁面內容僅用于功能演示&#xff0c;無實際功能 作品特色 本品為外賣訂餐騎手端APP原型設計圖&#x…

CentOS下MySQL的徹底卸載的幾種方法

這里我為大家詳細講解下“CentOS下MySQL的徹底卸載的幾種方法”的完整攻略。 一、關閉MySQL服務 在開始操作之前&#xff0c;需要先關閉MySQL服務。可以使用以下命令來關閉MySQL服務&#xff1a; systemctl stop mysqld 或者 service mysqld stop 二、使用yum命令卸載MySQL…

微前端 - qiankun

qiankun 是一個基于 single-spa 的微前端實現庫&#xff0c;旨在幫助大家能更簡單、無痛的構建一個生產可用微前端架構系統。 本文主要記錄下如何接入 qiankun 微前端。主應用使用 vue2&#xff0c;子應用使用 vue3、react。 一、主應用 主應用不限技術棧&#xff0c;只需要提…

數據結構之線性表的類型運用Linear Lists: 數組,棧,隊列,鏈表

線性表 定義 一個最簡單&#xff0c;最基本的數據結構。一個線性表由多個相同類型的元素穿在一次&#xff0c;并且每一個元素都一個前驅&#xff08;前一個元素&#xff09;和后繼&#xff08;后一個元素&#xff09;。 線性表的類型 常見的類型&#xff1a;數組、棧、隊列…

mysql、redis面試題

mysql 相關 1、數據庫優化查詢方法 外鍵、索引、聯合查詢、選擇特定字段等等2、簡述mysql和redis區別 redis&#xff1a; 內存型非關系數據庫&#xff0c;數據保存在內存中&#xff0c;速度快mysql&#xff1a;關系型數據庫&#xff0c;數據保存在磁盤中&#xff0c;檢索的話&…

[Go版]算法通關村第十二關黃金——字符串沖刺題

目錄 題目&#xff1a;最長公共前綴解法1&#xff1a;縱向對比-循環內套循環寫法復雜度&#xff1a;時間復雜度 O ( n ? m ) O(n*m) O(n?m)、空間復雜度 O ( 1 ) O(1) O(1)Go代碼 解法2&#xff1a;橫向對比-兩兩對比&#xff08;類似合并K個數組、合并K個鏈表&#xff09;復…

okhttp下載文件 Java下載文件 javaokhttp下載文件 下載文件 java下載 okhttp下載 okhttp

okhttp下載文件 Java下載文件 javaokhttp下載文件 下載文件 java下載 okhttp下載 okhttp 1、引入Maven1.1、okhttp發起請求官網Demo 2、下載文件3、擴充&#xff0c;讀寫 txt文件內容3.1讀寫內容 示例 http客戶端 用的是 okhttp&#xff0c;也可以用 UrlConnetcion或者apache …

SD WebUI 擴展:prompt-all-in-one

sd-webui-prompt-all-in-one 是一個基于 Stable Diffusion WebUI 的擴展&#xff0c;旨在提高提示詞/反向提示詞輸入框的使用體驗。它擁有更直觀、強大的輸入界面功能&#xff0c;它提供了自動翻譯、歷史記錄和收藏等功能&#xff0c;它支持多種語言&#xff0c;滿足不同用戶的…

[MAUI]在.NET MAUI中實現可拖拽排序列表

文章目錄 創建可拖放控件創建綁定服務類拖拽&#xff08;Drag&#xff09;拖拽懸停&#xff0c;經過&#xff08;DragOver&#xff09;釋放&#xff08;Drop&#xff09; 創建頁面元素最終效果項目地址 .NET MAUI 中提供了拖放(drag-drop)手勢識別器&#xff0c;允許用戶通過拖…

Mysql驅動包下載

第一步&#xff1a;下載地址 MySQL :: Download Connector/J 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a;解壓 第五步&#xff1a;找到驅動包&#xff0c;放入項目使用即可

管理類聯考——邏輯——真題篇——按知識分類——匯總篇——三、綜合推理

文章目錄 題-綜合推理-分類1-排序真題&#xff08;2016-54-55&#xff09;-難度最高*****-綜合推理-分類1-排序-畫表排除法真題&#xff08;2016-54&#xff09;真題&#xff08;2016-55&#xff09;真題&#xff08;2019-36&#xff09;-綜合推理-分類1-排序真題&#xff08;2…

【AIGC】 國內版聊天GPT

國內版聊天GPT 引言一、國內平臺二、簡單體驗2.1 提問2.2 角色扮演2.3 總結畫圖 引言 ChatGPT是OpenAI發開的聊天程序&#xff0c;功能強大&#xff0c;可快速獲取信息&#xff0c;節省用戶時間和精力&#xff0c;提供個性化的服務。目前國產ChatGPT&#xff0c;比如文心一言&a…

OJ練習第151題——克隆圖

克隆圖 力扣鏈接&#xff1a;133. 克隆圖 題目描述 給你無向 連通 圖中一個節點的引用&#xff0c;請你返回該圖的 深拷貝&#xff08;克隆&#xff09;。 示例 分析 對于一張圖而言&#xff0c;它的深拷貝即構建一張與原圖結構&#xff0c;值均一樣的圖&#xff0c;但是…

C++中的類型擦除技術

文章目錄 一、C類型擦除Type Erasure技術1.虛函數2.模板和函數對象 二、任務隊列1.基于特定類型的方式實現2.基于任意類型的方式實現 參考&#xff1a; 一、C類型擦除Type Erasure技術 C中的類型擦除&#xff08;Type Erasure&#xff09;是一種技術&#xff0c;用于隱藏具體類…

Electron基礎篇

人生有些事,錯過一時,就錯過一世。 官網&#xff1a;簡介 | Electron Electron-大多用來寫桌面端軟件 Electron介紹 Electront的核心組成是Chromium、Node.js以及內置的Native API&#xff0c;其中Chromium為Electron提供強大的UI能力&#xff0c;可以在不考慮兼容的情況下利…