css变量完成拖动元素效果
css变量可以有js进行设置,在move事件中,实时修改css变量,就可以实现元素的拖动效果。同时变量可以被复用,其他的元素可以使用此变量来得出别的效果。
下面是css变量拖动效果的demo:
.box{ width: 100px; height: 100px; background-color: aquamarine; transform: translate(var(--mouse-x),var(--mouse-y)); }
<div class="box"></div>
document.addEventListener('mousedown', e => { //按下计算offset let rect = e.target.getBoundingClientRect(); let offset = { left: e.clientX - rect.left, top: e.clientY - rect.top } //定义move函数 let moveFunc = function(e){ const docStyle = document.documentElement.style; docStyle.setProperty('--mouse-x', e.clientX - offset.left + 'px'); docStyle.setProperty('--mouse-y', e.clientY - offset.top + 'px'); } //添加move事件 document.addEventListener('mousemove', moveFunc); //弹起解绑move事件 document.addEventListener('mouseup', e => { document.removeEventListener('mousemove',moveFunc); }) })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-08-20 dva的基本用法
2018-08-20 redux-saga基本用法
2018-08-20 react-redux的基本用法
2017-08-20 node命令行开发