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';});//觸摸結束時的處理div1.addEventListener('touchend', function() { document.removeEventListener("touchmove", defaultEvent);});//阻止默認事件function defaultEvent(e) { e.preventDefault();}3.效果


4.幾點說明
對于觸屏手機端用手指事件,對于PC端用鼠標事件,其實原理都一樣。
總結
以上所述是小編給大家介紹的JS實現移動端觸屏拖拽功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答