JS實(shí)現(xiàn)移動端觸屏拖拽功能
1.html
<div id="div1"></div>
2.css
* { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; } #div1 { width: 50px; height: 50px; background: cyan; position: absolute; }
3.js
var div1 = document.querySelector('#div1'); //限制最大寬高,不讓滑塊出去 var maxW = document.body.clientWidth - div1.offsetWidth; var maxH = document.body.clientHeight - div1.offsetHeight; //手指觸摸開始,記錄div的初始位置 div1.addEventListener('touchstart', function(e) { var ev = e || window.event; var touch = ev.targetTouches[0]; oL = touch.clientX - div1.offsetLeft; oT = touch.clientY - div1.offsetTop; document.addEventListener("touchmove", defaultEvent, false); }); //觸摸中的,位置記錄 div1.addEventListener('touchmove', function(e) { var ev = e || window.event; var touch = ev.targetTouches[0]; var oLeft = touch.clientX - oL; var oTop = touch.clientY - oT; if(oLeft < 0) { oLeft = 0; } else if(oLeft >= maxW) { oLeft = maxW; } if(oTop < 0) { oTop = 0; } else if(oTop >= maxH) { oTop = maxH; } div1.style.left = oLeft + 'px'; div1.style.top = oTop + 'px'; }); //觸摸結(jié)束時的處理 div1.addEventListener('touchend', function() { document.removeEventListener("touchmove", defaultEvent); }); //阻止默認(rèn)事件 function defaultEvent(e) { e.preventDefault(); }
3.效果
4.幾點(diǎn)說明
對于觸屏手機(jī)端用手指事件,對于PC端用鼠標(biāo)事件,其實(shí)原理都一樣。
總結(jié)
以上所述是小編給大家介紹的JS實(shí)現(xiàn)移動端觸屏拖拽功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
一個頁面放2段圖片滾動代碼出現(xiàn)沖突的問題如何解決
這是一段調(diào)用圖片流動的代碼?為什么我在首頁同時復(fù)制出二段代碼后圖片不能流動顯示了?遇此問題很是疑惑,于是搜集整理一些實(shí)用技巧以解大伙們的燃眉之急,需要了解的朋友可以參考下2012-12-12JS點(diǎn)擊動態(tài)添加標(biāo)簽、刪除指定標(biāo)簽的代碼
這篇文章主要介紹了JS點(diǎn)擊動態(tài)添加標(biāo)簽、刪除指定標(biāo)簽的代碼,在文中給大家補(bǔ)充介紹了js 更加輪播圖圖片張數(shù)動態(tài)生成小圓點(diǎn)的方法,需要的朋友參考下實(shí)現(xiàn)代碼2018-04-04利用uniapp開發(fā)APP時的調(diào)試/安卓打包等詳解
uni-app??是一個使用??Vue.js開發(fā)所有前端應(yīng)用的框架,開發(fā)者編寫一套代碼,下面這篇文章主要給大家介紹了關(guān)于利用uniapp開發(fā)APP時的調(diào)試/安卓打包等的相關(guān)資料,需要的朋友可以參考下2022-12-12微信小程序后端(java)開發(fā)流程的詳細(xì)步驟
這篇文章主要介紹了微信小程序后端開發(fā)流程的詳細(xì)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11最簡單的JS實(shí)現(xiàn)json轉(zhuǎn)csv的方法
這篇文章主要介紹了最簡單的JS實(shí)現(xiàn)json轉(zhuǎn)csv的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01JavaScript操作XML實(shí)例代碼(獲取新聞標(biāo)題并分頁,并分頁)
XML 代碼部分 這是一個新聞的XML 文件,如果 NBody部分包含 XML 和Html 不可識別部分, 就 包含在DATA 表示附中。2010-05-05