久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

移動端JS實現拖拽兩種方法解析

瀏覽:116日期:2024-04-17 11:21:44

移動端的項目經常會引入手勢庫來實現拖拽

不過如果只是一兩個頁面用到拖拽,再引入一個手勢庫就很不劃算

最近的項目中就有這么一個需求:

移動端JS實現拖拽兩種方法解析

因為就這一個地方需要拖拽,所以我就沒有引入第三方庫

移動端的拖拽有兩種主流的實現方案:

1. 將元素設置為固定定位,然后在拖拽的時候修改其定位,實現拖拽的效果;

2. 使用 transform 中的平移translate 屬性實現拖拽。

方案一:固定定位 fixed

這種方案的核心就是給元素添加固定定位position:fixed;

但定位之后,元素會脫離文檔流,會影響原有但布局

因此在開始拖拽 (觸發touchstart事件) 的時候,需要將原本的元素 A 拷貝一份 (cloneNode())

給新元素 A2 添加定位,同時給原本的元素 A 設置visibility:hidden; 使之隱藏并占位

1.1 創建遮罩

首先封裝一個創建遮罩的方法,用于放置拷貝出來的元素,并防止誤觸

createModal (id) { let modal = document.getElementById(id) if (!modal) { // 在沒有遮罩的時候創建遮罩 modal = document.createElement(’div’) modal.id = id modal.style.cssText = `position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 999;` document.body.appendChild(modal) }},

1.2 開始拖拽

在觸發touchstart事件的時候,首先創建遮罩

并通過getBoundingClientRect()方法獲取到元素 A 的坐標,記錄起點信息

為了記錄起點信息,需要 data 中創建一個對象source,用于記錄點擊的位置 client,和初始定位坐標 start

handleTouchstart (e) { // 開始拖拽 // 創建遮罩層 this.createModal(this.modalID) // modalID 遮罩層的id,由外部定義 let element = e.targetTouches[0] let target = e.target.cloneNode(true) // 拷貝目標元素 target.id = this.copyID // copyID 拷貝元素的id,由外部定義 // 記錄初始點擊位置 client,用于計算移動距離 this.source.client = { x: element.clientX, y: element.clientY } // 算出目標元素的固定位置 let disX = this.source.start.left = element.target.getBoundingClientRect().left let disY = this.source.start.top = element.target.getBoundingClientRect().top target.style.cssText = `position: fixed; left: ${disX}px; top: ${disY}px;` // 將拷貝的元素放到遮罩中 document.getElementById(this.modalID).appendChild(target)},

1.3 處理拖拽

拖拽的時候,監聽touchmove事件

用【當前鼠標點位置】減去【初始點擊位置】得到移動的距離

再結合初始坐標信息,更新拖拽元素的坐標

handleTouchmove (e) { // 拖拽中 let element = e.targetTouches[0] let target = document.getElementById(this.copyID) // 根據初始點擊位置 client 計算移動距離 let left = this.source.start.left + element.clientX - this.source.client.x let top = this.source.start.top + element.clientY - this.source.client.y // 移動當前元素 target.style.left = `${left}px` target.style.top = `${top}px`},

1.4 拖拽結束

拖拽結束的時候,記錄終點位置,刪除遮罩

handleTouchend (e) { // 拖拽結束 let end = { x: e.changedTouches[0].clientX, y: e.changedTouches[0].clientY } // 刪除遮罩層 let modal = document.getElementById(this.modalID) document.body.removeChild(modal) // 處理結果 this.doingSth(end)},

不過上面的代碼只實現了拖拽的功能,并沒有對目標元素 A 進行顯示/隱藏的操作

可以根據業務場景自行添加,或者參考方案二

方案二:平移動畫translate

這種方案更為簡單,不需要創建額外的 DOM 元素

只需對原本的元素添加 transform 屬性,甚至不需要 transition 屬性

然后在拖拽過程中,實時更新transform: translate(X, Y)中 x, y 的坐標信息,實現拖拽

2.1 開始拖拽

開始拖拽的時候,只需要記錄起點坐標

handleTouchstart (e) { // 開始拖拽 let element = e.targetTouches[0]// 記錄初始 client 位置,用于計算移動距離 this.source.client = { x: element.clientX, y: element.clientY }},

為了防止拖拽的過程中誤觸,建議使用方案一的createModal()方法創建一個遮罩

2.2 處理拖拽

根據當前坐標和起點坐標,計算出距離,然后更新 translate 的坐標

handleTouchmove (e) { // 拖拽中 let element = e.targetTouches[0] // 根據初始 client 位置計算移動距離 let x = element.clientX - this.source.client.x let y = element.clientY - this.source.client.y // 移動當前元素 element.target.style.cssText = `transform: translate(${x}px, ${y}px);`},

2.3 拖拽結束

拖拽完成后,清除平移動畫

handleTouchend (e) { // 拖拽結束 // 清除拖拽樣式 e.target.style.cssText = `transform: none;`},

小結:

方案一在獲取目標元素的坐標信息的時候使用了 getBoundingClientRect() 方法

但這個方法性能不高,應當少用

而且即時使用了該方法,最后得到的 left 和 top 也不夠精確,touchstart 的時候,元素有明顯的閃動

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产成人精品a视频一区www | aaaaaaa片毛片免费观看 | 奇米av在线| 视频一区二 | 欧美国产精品久久久 | 人人澡人人射 | 成人爽a毛片一区二区免费 美女高潮久久久 | av黄色在线 | 国产精品久久久久久久久久妇女 | 久久高清亚洲 | 国产精品免费在线 | 成人免费视频网站 | 欧美日韩精品亚洲 | 日韩久久久久 | 一区二区精品 | 超碰一区二区三区 | 亚洲综合在线视频 | 久久久久国产一区二区三区 | 国产精品久久久久影院色老大 | 第一色视频 | 欧美 日韩 国产 成人 在线 | 天天看天天爽 | 国产视频第一页 | 国产精品久久国产精麻豆99网站 | 毛片毛片毛片毛片毛片毛片 | 国产中文字幕在线 | 狠狠操操操| 国产精品久久久久久久久免费丝袜 | 欧美日韩视频一区二区 | 欧美一区免费 | 国产性久久 | 久久伊人影院 | 欧美亚洲免费 | 97色婷婷成人综合在线观看 | 国产精品久久久久久无遮挡 | 高清一区二区三区 | 一级黄色录像视频 | 久久综合久色欧美综合狠狠 | 久草日韩| 亚洲国产成人精品女人久久久 | 国产成人99久久亚洲综合精品 | 亚洲男人的天堂在线观看 | www.亚洲区 | 黄色一级电影免费观看 | 人人射 | 日韩精品一区二区三区中文字幕 | 日本小视频网站 | 成人免费视频在线观看 | www精品| 一区二区三区国产 | 久久精品欧美一区二区三区不卡 | 69久久99精品久久久久婷婷 | 久久国产精品久久精品 | 91小视频 | 日本久久视频 | 最新黄色网址在线播放 | 国产a一三三四区电影 | 欧美一区亚洲二区 | 亚洲tv国产 | 欧美日在线 | 91中文字幕| 在线观看国产高清视频 | 国内精品视频一区二区三区八戒 | 亚洲天堂久| 国产精品高潮呻吟久久av黑人 | 精品国产一区二区三区久久 | 日本成人黄色网址 | 国产精品一码二码三码在线 | 91精品视频一区 | 国产私拍视频 | 国产精品久久久久久久久久99 | 久久免费精品视频 | 一区二区三区在线免费播放 | 黄色毛片免费看 | 三区中文字幕 | 中文字幕日韩欧美 | 国产精品久久久久久 | 黄久久久 | 一道本一区二区三区 | 国产a√ | 色偷偷噜噜噜亚洲男人 | 国产精品美女久久久久aⅴ国产馆 | 日韩精品一区二区三区中文字幕 | 欧美久久精品 | 手机在线观看av | 亚洲一区精品视频 | 日本成人小视频 | 91免费观看| 一区中文字幕 | 国产精品国产成人国产三级 | 亚洲精品一区二区三区蜜桃久 | 91操操| 成人久久久精品乱码一区二区三区 | 午夜成人免费影院 | 国产精品欧美一区二区三区不卡 | 国产精品美女久久久久久久久久久 | 亚洲二区在线 | 日韩一区二区三区在线视频 | 午夜精品一区二区三区免费视频 | 香蕉久久夜色精品国产使用方法 | 精品视频二区三区 | 粉色午夜视频 | 中文字幕在线观看不卡视频 | 国产精品一二三区 | 天天操夜夜操免费视频 | www.亚洲 | 国产成人精品久久 | 国产一区二区三区在线视频 | 国产在线视频xxx | 一级一级一级毛片 | yy6080久久伦理一区二区 | 精品国产一区二区三区性色 | 懂色一区二区三区免费观看 | 精一区二区 | 天堂中文字幕 | 亚洲色图一区二区三区 | 精品网站999www| 做视频免费观看网站 | 国产在线一区二区三区 | 欧美在线视频一区二区 | 日本黄色免费播放 | 日本综合视频 | 亚洲视频自拍 | 亚洲免费视频观看 | 国产精品免费一区二区三区四区 | 国产乱码精品一区二区三区忘忧草 | 91视频网址 | 国产精品极品美女在线观看免费 | 亚洲一区二区三 | 日本中文字幕一区 | 国产综合视频在线观看 | 日韩成人tv| 欧美视频精品 | 午夜性电影 | 亚洲精品在线视频 | 成人免费在线观看 | 国产一级毛片在线视频 | a级性视频 | 夜夜久久 | 久久成人综合 | 欧美韩国日本一区 | 后进极品白嫩翘臀在线视频 | 超碰美女 | 国产激情一区二区三区 | 久久精品一区二区三区不卡牛牛 | 国产一区二区三区四区在线观看 | 国产在线中文字幕 | 这里只有精品视频 | 日韩欧美一区二区视频 | 久久精品国产视频 | 久久成人免费视频 | 久久综合一区二区三区 | 欧美午夜精品久久久久久人妖 | 中文字幕亚洲视频 | 男人久久天堂 | 亚洲视频一区二区 | 精品日韩一区二区 | 成人精品视频免费在线观看 | 国产福利片在线观看 | 成人在线手机版视频 | 精品免费视频 | 国产剧情一区二区 | 国产精品久久久久久久久久免费 | 婷婷久久综合 | www.久久精品| 91免费国产 | 这里精品 | 91久久在线| 国产一区二区三区色淫影院 | 日韩午夜免费 | 国产精品成人一区二区三区夜夜夜 | 欧美久久精品一级c片 | 爱爱视频在线观看 | 欧美一区二区成人 | 亚洲1区2区在线 | 精品综合久久 | 欧美激情一区二区三区 | 国产成人免费视频 | 无码少妇一区二区三区 | 国产片在线观看 | 日本成人在线看 | 国产乱码精品一区二区三区忘忧草 | 另类二区 | 中文字幕av一区二区 | 亚洲视频在线免费观看 | 亚洲精品久久久久久一区二区 | 久久精品亚洲精品国产欧美 | 在线电影亚洲 | 中文字幕一区在线观看视频 | 99精品欧美一区二区三区 | 在线99视频 | 香蕉大人久久国产成人av | 日韩成人在线一区 | 北条麻妃99精品青青久久 | 国产精品久久久 | 国产精品网站在线看 | 中文在线a在线 | 91视频免费看 | 一区二区中文 | 精品国产髙清在线看国产毛片 | 欧美日韩一区二区三区在线观看 | 免费一级在线观看 | 91精品啪啪 | 羞羞视频免费观看 | 国产亚洲欧美在线 | 日韩午夜免费 | 日韩精品1区 | 夜夜骑av | 免费观看一级视频 | 中文亚洲 | 在线不卡一区 | 91.xxx.高清在线 | 九九热在线免费视频 | 日韩中文在线视频 | 国产做a爰片久久毛片a我的朋友 | 成人免费毛片aaaaaa片 | 五月天婷婷丁香 | 欧美精品一区二区三区在线 | 国产美女网站视频 | 国产精久久一区二区三区 | 中文字幕一区二区三区乱码图片 | 成人精品一区二区三区 | 一区二区三区四区免费看 | 性人久久精品 | 日韩性欧美 | 欧美视频在线观看一区 | 国产一区二区成人 | 超碰在线播 | 日本三级在线观看中文字 | 亚洲精品久久久久国产 | 久久免费小视频 | aaa在线观看 | 色综合一区 | 天堂资源在线 | 午夜av影视 | 日韩影音 | 黄色影视网址 | 免费高清一级毛片 | 精品国产一区二区三区性色av | 国产精品三级在线 | 国产传媒在线观看 | 成人三级在线 | 在线看一区| 吊视频一区二区三区 | 国厂毛片 | 91精品啪啪 | 国产精品亚洲一区二区三区在线 | 99久久久国产精品 | 国产精品二区一区二区aⅴ污介绍 | 色噜噜狠狠狠综合曰曰曰88av | 成人在线 | 中文成人在线 | 久久中文字幕一区二区三区 | 黄色大片网站在线观看 | 黄色二区 | 亚洲精品国产综合 | 国产伦精品一区二区三区高清 | 黄色免费网站观看 | 精品国产乱码久久久久久闺蜜 | 亚洲国产一区二区三区在线观看 | 亚洲综合在线网 | 日韩小视频网站hq | 一级毛片在线 | 日本99精品 | 天天操天天碰 | 欧美精品成人 | 国内成人免费视频 | 最近免费中文字幕在线视频2 | 亚洲人在线播放 | 国产精品1区2区 | 久久精品a一级国产免视看成人 | 99精品一区二区三区 | 午夜成人在线视频 | 午夜午夜精品一区二区三区文 | 亚洲精品乱码久久久久膏 | 国产精品永久在线 | 成人欧美一区二区三区在线播放 | 蜜桃av人人夜夜澡人人爽 | 天天操网 | 成人精品鲁一区一区二区 | 91在线看 | 插插射啊爱视频日a级 | 欧美三级电影在线观看 | 国产一区二区三区四区在线观看 | 久久精品中文 | 亚洲一区二区三区四区五区中文 | aaa大片免费观看 | 99成人 | 亚洲国产一区二区在线观看 | 成人亚洲天堂 | 欧美福利电影在线观看 | 欧美成人精品一区二区男人看 | 久草免费在线 | 国产精品一区二区久久久久 | 亚洲视频在线观看免费 | 亚洲精品四区 | 亚洲一区二区三区日韩 | 欧美黑人一级爽快片淫片高清 | 日本人做爰大片免费观看一老师 | 国产精品久久久久久久久久 | 亚洲国产精品一区二区第一页 | 日本一区二区三区免费观看 | 成人精品久久久 | 中文日韩在线 | 成人免费在线电影 | 国产一级纯肉体一级毛片 | 久久久久一区二区三区 | 爱色av| 欧美在线视频不卡 | 成人久久久 | 青青久久| 国产精品久久久久久久久 | 亚洲成av人片在线观看 | a√天堂资源在线 | 成人免费一区二区三区视频网站 | 黑人巨大精品欧美黑白配亚洲 | av男人的天堂网 | 国产激情在线观看 | 午夜激情影院 | 日本全黄裸体片 | 亚洲精品乱码久久久久久按摩观 | 日日操夜夜操天天操 | av在线一区二区三区 | 久久夜视频| 狠狠爱亚洲 | 欧美精品国产精品 | 国产98色在线| 伊人网站| 日韩第一区 | 久久青青| 一级a性色生活片久久毛片波多野 | www.国产视频 | 欧美成人一区二区三区片免费 | 91国内外精品自在线播放 | 波多野结衣av中文字幕 | av在线精品 | 久久久久久久国产精品 | 一区二区三区日韩 | 99久久99久久久精品色圆 | 欧美日一区 | 日韩视频中文字幕 | 欧美亚洲一区二区三区 | 欧美性猛交一区二区三区精品 | 99精品全国免费观看视频软件 | 日本成人中文字幕 | 亚洲欧美激情另类 | 国产免费黄色大片 | 人人澡人人草 | 99热婷婷| 午夜精品久久久久久久久久久久 | 91视频免费看片 | 国产福利在线观看 | 日韩免费高清在线 | av免费网站在线观看 | 亚洲资源在线 | a中文在线| 国产精品久久久久久久久久久久久久 | 日本免费黄色 | 亚洲这里只有精品 | 精品国产一区二区三区日日嗨 | 久久久高清 | 亚洲成av人乱码色午夜 | 涩涩综合 | 欧美久久一区二区 | 日韩不卡一区 | 老司机在线精品视频 | 日韩成人在线免费视频 | 国产一区二区三区四区五区加勒比 | 羞羞视频网站在线免费观看 | 亚洲精品一区二区三区樱花 | 日本福利视频 | 99热少妇 | 国产最新视频在线 | 大香一网| 色999国产 | 91福利在线播放 | 日本在线观看 | 国产精品成人3p一区二区三区 | 日韩性视频 | 91视频免费观看 | 国产一区二区欧美 | 最新国产视频 | 欧美一区 | 亚洲综合天堂网 | 伊人春色在线播放 | 成人中文视频 | 国产高清一区二区三区 | www.久久.com | 国产精品18久久久久久久久久久久 | 亚洲在线视频 | 亚洲精品乱码久久久久久蜜桃不卡 | 精品一区二区电影 | 日韩激情二区 | 色婷综合网| 亚洲天堂一区 | 欧美视频网站 | 日本高清视频在线播放 | 天天天天天天天天干 | 日韩精品一区二区三区 | 国产在线视频xxx | 91人人澡人人爽 | 中文字幕第十二页 | 亚洲精品二三区 | 另类国产ts人妖高潮系列视频 | 亚洲国产精品一区二区久久 | 国产日韩免费 | 成人久久精品 | 成人午夜在线 | 久久综合九九 | 日韩欧美精品一区二区三区 | 日本天天色 | 国产精品自拍视频网站 | 国产精品影视 | www.91av在线| 91精品国产综合久久福利软件 | 在线一区二区三区做爰视频网站 | 欧美韩日 | 久久久精品久久久 | 欧美日韩电影一区二区三区 | 999国产一区二区三区四区 | 国产免费一区二区三区 | 在线观看免费成人av | 日韩欧美国产精品综合嫩v 国产高清av在线一区二区三区 | 亚洲成人网一区 | 午夜视频网站 | 99re热精品视频国产免费 | 日韩欧美一区二区三区视频 | 一级免费片 | 国产男女免费视频 | 亚洲视频一 | 日韩av一区二区在线观看 | 亚洲一二三区在线观看 | av成人在线观看 | 精品成人网 | 高清一区二区三区视频 | 欧美日在线 | 91精品国产九九九久久久亚洲 | 激情欧美一区二区三区中文字幕 | 精品国产乱码久久久久久1区2区 | 亚洲成av人片一区二区三区 | 久久综合九九 | 国产第一二区 | 一区二区手机在线 | 日韩一区二区福利 | 欧美日韩福利 | 国产98色在线 | 麻豆资源 | 91麻豆精品国产91久久久久久 | 国产一区在线免费 | 亚洲热在线观看 | 国产中文视频 | 亚洲欧美福利视频 | 交视频在线观看国产 | 亚洲一区二区久久 | 日韩一区二区三区在线视频 | 欧美一二三四成人免费视频 | 国产中文字幕在线观看 | 亚洲一区二区三区四区五区中文 | 日韩免费精品 | 亚洲欧美v国产一区二区 | 欧美99| 精品视频久久 | 在线观看成人 | 欧美日韩一区二区三区四区 | 国产男女做爰免费网站 | 国产片在线观看 | 久久久久久网站 | 亚洲一区二区三 | 欧美大片一区二区 | 成人欧美一区二区三区黑人孕妇 | 国产噜噜噜噜噜久久久久久久久 | 六月综合激情 | 国产成人精品免费视频大全 | 1区在线| 久草视频在线播放 | 日韩在线国产精品 | 日韩成人一区二区 | 日韩福利| 久久欧美精品一区 | 亚洲久久| 国产中文在线播放 | 亚洲精品影院 | 亚洲av毛片一级二级在线 | 四虎成人在线播放 | 黄视频网站免费观看 | 大香伊蕉在人线视频777 | 日韩一区二区三区福利视频 | 中文字幕久久久 | 久久久精品免费观看 | 亚洲情综合五月天 | 免费观看电视在线高清视频 | 国产亚洲一区二区三区在线观看 | 成人在线视频观看 | 成人国产精品一级毛片视频 | 亚洲欧洲视频 | 久久久久99 | 成全视频免费观看在线看黑人 | 青青久久网 | 国产最新视频 | 亚洲日日 | 亚洲不卡在线 | 亚洲 中文 欧美 日韩 在线观看 | 中文字幕avav | 一区在线视频 | 亚洲精品一区久久久久久 | 国产成人综合在线观看 | 日韩在线大片 | 91中文字幕在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 综合久久网 | 日韩精品在线网站 | 久久久久亚洲一区二区三区 | 午夜精品视频在线观看 | 99精品视频一区二区三区 | 日韩成人免费av | 国产中文字幕在线观看 | 波多野结衣中文字幕在线视频 | 久久成人免费视频 | 黄色一级免费观看 | 精品国产一区二区三区成人影院 | 欧美成人a∨高清免费观看 在线视频成人 | 国产一区二区在线播放 | 久久69精品久久久久久久电影好 | 一区二区三区久久 | 91久久精品一区二区二区 | 91麻豆精品久久久久蜜臀 | 综合99| 在线只有精品 | 人人插人人干 | 欧美视频在线免费 | 精品中文在线 | 成人亚洲精品 | 国产一区二区av | 亚洲精品一二区 | 久久9久久 | 精品久久久久久国产三级 | 精品国产一区二区三区av片 | 精品亚洲一区二区三区四区五区 | 五月激情综合 | 国产日韩一区二区 | 国产精品嫩草55av | 麻豆av一区| 欧美一区二区三区免费视频 | 日韩成人在线影院 | 久久99久久98精品免观看软件 | 中文字幕精品三级久久久 | 99这里只有精品 | av免费观看网站 | 国产999精品久久久影片官网 | 成人亚洲视频 | 久久av综合网 | 国产欧美综合一区二区三区 | 国产成人在线视频 | 欧美日本免费一区二区三区 | 日韩免费一区二区 | 精品一区二区久久久久久久网站 | 精品国产乱码久久久久久久软件 | 欧美xxxx片 | 亚洲精品二区三区 | 欧美一级全黄 | 日韩国产精品一区二区 | 亚洲不卡在线 | 欧洲精品一区 | 精品视频一区二区三区 | 影音先锋亚洲资源 | a视频在线观看 | 国产精品久久久久久妇女6080 | 99热69| 亚洲日韩中文字幕一区 | 天天干天天谢 | 久久综合九色综合欧美狠狠 | 天天操狠狠操网站 | 亚洲成人一二区 | 久久成人免费视频 | 色啪网站 | 九九在线视频 | 亚洲精品18| 99久久久久久久久 | 国产探花在线精品一区二区 | 久久精品日产高清版的功能介绍 | 国产精品免费观看 | a级三四级黄大片 | 亚洲精品乱码久久久久久按摩观 | 欧美1区 | 免费在线一区二区 | 日韩中文视频 | 裸体的日本在线观看 | 亚洲在线电影 | 中文字幕亚洲精品 | 欧美日韩激情一区二区三区 | www国产亚洲精品久久网站 | 亚洲精品a在线观看 | 国产视频一二区 | 国产精品456在线影视 | 毛片国产 | 成人影院在线 | 色综合久久久 | 欧美国产综合一区 | 成人精品鲁一区一区二区 | 国产欧美久久久久久 | 亚洲成人免费视频 | 亚洲电影免费 | 亚洲精品乱码久久久久久 | 国产高清美女一级a毛片久久 | 999国内精品永久免费视频 | 99re在线视频 | 日韩欧美在线免费观看 | 精品亚洲成a人在线观看 | 欧美精品片 | 久草新视频在线观看 | 欧美1级 | 91精品久久久久久久久久 | 中文字幕av一区二区三区 | 人人爽视频 | 超级乱淫片国语对白免费视频 |