手机浏览器中实现可拖动div
var touchStartX = 0; var touchStartY = 0; var moveX = 0; var moveY = 0; var div = document.getElementById('yourDivId'); // 获取你要拖动的div div.addEventListener('touchstart', function(e) { var touch = e.touches[0]; // 获取第一个触点 touchStartX = touch.pageX; // 记录触点初始位置 touchStartY = touch.pageY; }); div.addEventListener('touchmove', function(e) { e.preventDefault(); // 阻止默认行为 var touch = e.touches[0]; // 获取第一个触点 moveX = touch.pageX - touchStartX; // 计算移动距离 moveY = touch.pageY - touchStartY; var newLeft = div.offsetLeft + moveX; var newTop = div.offsetTop + moveY; // 边界检查 if (newLeft < 0) newLeft = 0; if (newTop < 0) newTop = 0; if (newLeft + div.offsetWidth > window.innerWidth) newLeft = window.innerWidth - div.offsetWidth; if (newTop + div.offsetHeight > window.innerHeight) newTop = window.innerHeight - div.offsetHeight; div.style.left = newLeft + 'px'; // 更新div位置 div.style.top = newTop + 'px'; touchStartX = touch.pageX; // 更新触点位置,以便下次计算 touchStartY = touch.pageY; }); div.addEventListener('touchend', function(e) { // 可以在这里添加你在结束拖动后需要执行的代码 });
桂棹兮兰桨,击空明兮溯流光。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-11-04 FileNotFoundError: [WinError 3] 系统找不到指定的路径 general.pyc
2022-11-04 python 打包后运行提示 ModuleNotFoundError: No module named 'xxx'
2020-11-04 64位系统的下的32位和64位进程的自动转向问题
2019-11-04 visual studio 在windows远程调试 linux 程序 cout 输出乱码
2014-11-04 asp.net ajax 调用一例