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实现移动端触屏拖拽功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无争山庄资源网 Copyright www.whwtcm.com
暂无“JS实现移动端触屏拖拽功能”评论...
更新日志
2024年10月11日
2024年10月11日
- 伊能静.1989-悲伤的茱丽叶【飞鹰唱片】【WAV+CUE】
- 黑神话二郎神脸模再次COS自己:霸气侧漏 颜值超高!
- 《黑神话》萍萍演员再晒COS:国庆皮肤限时返场!
- 《暗黑4》资料片IGN 8分:新增内容令人相当满意!
- 《一人一首成名曲·怀旧篇 3CD》[WAV+CUE][1.5GB]
- 《张信哲 粤语精选集 从开始到现在 2CD》[WAV+CUE][780MB]
- 《中国歌典 1950-1999年代经典歌曲 10CD》[FLAC/分轨][3.5GB]
- 群星.2024-流水迢迢影视原声带【诗和远方】【FLAC分轨】
- 蓝心湄.1999-心湄看新湄【SONY】【WAV+CUE】
- FINE乐团.2022-宇宙神经【FLAC分轨】
- 万代南梦宫逼迫中国选手弃权《铁拳》比赛 国籍不符合资格
- 《黑神话》官方手办引热议:真的很好看真的买不起
- 《黑神话:悟空》取景地灵岩寺现巨型悟空!挥舞大棒超帅气
- 秦咏.1997-歌咏诗情·历年名曲典故【音乐谷】【WAV+CUE】
- 群星.1997-纯电影·电影歌曲剧照纪念篇【新艺宝】【WAV+CUE】