news 2026/7/28 15:02:02

动画 实现在固定区域内拖拽目标

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
动画 实现在固定区域内拖拽目标

#动画 拖拽

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> *{ margin:0; padding:0; } .box{ width:500px; height:500px; margin:0 auto; border:10px dashed blue; position:relative; } .box1{ width:100px; height:100px; background-color:aquamarine; border-radius:50%; top:0; left:0; position:absolute; } </style> </head> <body> <div class="box"> <div class="box1"></div> </div> <script> // 获取元素 var box = document.querySelector(".box"); var box1 = document.querySelector(".box1"); box1.onmousedown = function(e) { // 记录鼠标按下时的位置 var nowX = e.clientX; var nowY = e.clientY; // 记录鼠标按下时box1的位置 var left = box1.offsetLeft; var top = box1.offsetTop; document.onmousemove = function(e){ // 鼠标移动后的位置 var mouseX = e.clientX; var mouseY = e.clientY; // var X = mouseX - nowX; // var Y = mouseY - nowY; // box1.style.left = left + X + "px"; // box1.style.top = top + Y + "px"; // 计算鼠标移动了多少 var resultX = mouseX - nowX + left; var resultY = mouseY - nowY + top; if(resultX < 0){ resultX = 0 }else if(resultX > box.clientWidth - box1.clientWidth){ resultX = box.clientWidth - box1.clientWidth } if(resultY < 0){ resultY = 0 }else if(resultY > box.clientHeight - box1.clientHeight){ resultY = box.clientHeight - box1.clientHeight } box1.style.left = resultX + "px"; box1.style.top = resultY + "px"; } } document.onmouseup = function(){ document.onmousemove = null; } </script> </body> </html>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 15:01:49

物联网硬件选型与LTE Cat 1通信模块应用解析

1. 物联网通信硬件选型解析在物联网设备开发中&#xff0c;硬件选型直接影响着系统的稳定性、功耗表现和最终用户体验。LARA-R6401D-00B作为u-blox的LTE Cat 1通信模块&#xff0c;与STM32F446RE微控制器的组合&#xff0c;为安全可靠的物联网通信提供了理想的硬件基础。1.1 LA…

作者头像 李华
网站建设 2026/7/28 15:01:40

Twitch Drops Miner完整指南:告别手动观看,智能获取游戏奖励

Twitch Drops Miner完整指南&#xff1a;告别手动观看&#xff0c;智能获取游戏奖励 【免费下载链接】TwitchDropsMiner An app that allows you to AFK mine timed Twitch drops, with automatic drop claiming and channel switching. 项目地址: https://gitcode.com/GitHu…

作者头像 李华
网站建设 2026/7/28 15:01:13

物联网设备安全芯片SE050与STM32F411RE的集成实践

1. 为什么物联网设备需要专用安全芯片&#xff1f;在2023年某智能家居厂商的数据泄露事件中&#xff0c;攻击者通过破解设备固件签名密钥&#xff0c;远程控制了超过10万台智能门锁。这个案例暴露出传统MCU在安全防护上的致命短板——即使采用AES加密和TLS通信&#xff0c;密钥…

作者头像 李华
网站建设 2026/7/28 15:00:04

物联网安全芯片SE050与STM32G0B1RE的硬件级防护方案

1. 为什么物联网设备需要专用安全芯片&#xff1f;在物联网设备爆炸式增长的今天&#xff0c;安全问题已经成为制约行业发展的关键瓶颈。去年某知名智能家居品牌曝出的安全漏洞导致数十万台设备被入侵&#xff0c;直接经济损失超过千万美元。这类事件不断提醒我们&#xff1a;传…

作者头像 李华
网站建设 2026/7/28 14:59:28

物联网硬件安全:SE050芯片与STM32集成方案详解

1. 为什么物联网设备需要硬件级安全方案在2023年某智能家居厂商的大规模设备入侵事件中&#xff0c;超过50万台联网设备因软件加密方案被攻破而沦为僵尸网络的一部分。这个典型案例揭示了当前物联网安全的最大软肋——纯软件方案在面对物理攻击和侧信道攻击时的脆弱性。这正是S…

作者头像 李华
网站建设 2026/7/28 14:59:18

JS 基础二

自增运算符 自减运算符 自增运算符: 自减运算符: -- 含义: 让一个变量保存的数 1 或者 -1 再赋予变量自身 可以出现的位置: 变量的前面和后面 如果出现在前面: 变量 变量的使用会先1 再参与运算 如果出现在后面: 变量 变量的使用会先使用原值, 再var a 10; var b a-- --a;/…

作者头像 李华