CSS拖曳盒子案例

让我为大家带来一个小案例吧!

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>* {margin: 0;padding: 0;}.box1 {width: 100px;height: 100px;background-color: black;margin-bottom: 10px;position: relative;left: 0;top: 0;}.box2 {width: 100px;height: 100px;background-color: pink;margin-bottom: 10px;margin-left: 200px;}.box3 {width: 100px;height: 100px;background-color: orange;margin-top: 120px;margin-left: 200px;}</style></head><body><div class="box1"></div><div class="box2"></div><div class="box3"></div></body><script>//获取要移动的盒子var div = document.querySelector(".box1")//获取其他2个盒子var div1=document.querySelector(".box2")var div2=document.querySelector(".box3")div.onmousedown = function(e){//获取盒子距离页面多少var divX =div.offsetLeftvar divY =div.offsetTop//获取盒子点击的xy坐标var downX =e.clientXvar downY =e.clientYdocument.onmousemove=function(e){console.log(e);// if(div.offsetLeft<1){// 	alert("超出")// }//获取盒子点击的地方距离document点击的坐标的差var moveX =e.clientX - downXvar moveY =e.clientY - downY//获取移动鼠标想放哪放哪// div.style.left =divX+moveX+"px"// div.style.top =divY+moveY+"px"//这个的中心点在中间div.style.left =e.clientX - div.offsetWidth/2+"px"div.style.top =e.clientY - div.offsetHeight/2+"px"//拿他们的宽高去判断坐标if(e.clientX<div1.offsetWidth+div.offsetWidth/2+200&&e.clientX>div1.offsetWidth+div.offsetWidth/2&&e.clientY>div1.offsetTop/2&&e.clientY<div1.offsetTop*2+40){console.log(div1.offsetTop);div1.style.backgroundColor="green"}else{div1.style.backgroundColor="pink"}//拿他们的距离去判断if(e.clientX<div2.offsetWidth+div.offsetWidth/2+200&&e.clientX>div1.offsetWidth+div.offsetWidth/2&&e.clientY>div2.offsetTop-div.offsetHeight/2&&e.clientY<div2.offsetTop+div.offsetHeight+div.offsetHeight/2){div2.style.backgroundColor="blue"}else {div2.style.backgroundColor="orange"}}}//如果按起就不动div.onmouseup = function(){document.onmousemove = null}</script>
</html>

效果图:
请添加图片描述

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/528143.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI相关的实用工具分享

AI实用工具大赏&#xff1a;赋能科研与生活&#xff0c;探索AI的无限可能 前言 在数字化浪潮汹涌而至的今天&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到我们生活的方方面面&#xff0c;无论是工作还是生活&#xff0c;都在悄然发生改变。AI的崛起不仅为我们带…

RESTful API学习

RESTful API REST&#xff08;英文&#xff1a;Representational State Transfer&#xff0c;简称REST&#xff0c;直译过来表现层状态转换&#xff09;是一种软件架构风格、设计风格&#xff0c;而不是标准&#xff0c;只是提供了一组设计原则和约束条件。它主要用于客户端和…

动态规划|【路径问题】|174.地下城游戏

题目 174. 地下城游戏 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里&#xff0c;他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健…

关于GPU显卡的介绍

一.关于英伟达历代产品架构 显卡是一种计算机硬件设备,也被称为显示适配器或图形处理器。目前的硬件部分主要由主板、芯片、存储器、散热器&#xff08;散热片、风扇&#xff09;等部分。显卡的主要芯片是显卡的主要处理单元。显卡上也有和计算机存储器相似的存储器&#xff0…

mysql集群搭建-读写分离

一.前期准备 1.检查是否存在MySQL安装包 执行命令&#xff1a;rpm -qa | grep -i mysql 删除搜索到的MySQL安装包 执行命令&#xff1a;rpm -e --nodeps 搜索到的mysql 2.创建用户 创建用户组: groupadd mysql 创建用户&#xff1a; useradd -g mysql mysql 二.安装MySQL…

Python列表及其操作详解,从此不再迷茫!

在前面的文章中&#xff0c;我们详细讲了六大数据类型中的数字类型&#xff0c;字符串类型。相信大家都能够熟练的掌握了。那么今天我们来讲解列表&#xff08;list&#xff09;。 这是一种常用且重要的数据类型&#xff0c;List可以用来存储一系列的元素&#xff0c;对于后期…

Java“树结构TreeNode”用法详解,二叉树用法实现代码!!!

一、TreeNode用法 在Java中&#xff0c;TreeNode通常用于表示树结构中的节点。在树结构中&#xff0c;每个节点可以有零个或多个子节点&#xff0c;而TreeNode就是这个树结构中的一个节点。通常&#xff0c;树结构是通过链式结构实现的&#xff0c;每个节点有指向其子节点的引…

蓝桥杯备战刷题five(自用)

1.数字三角形&#xff08;方向次数限制&#xff0c;动态规划&#xff09; //如果n为奇数时&#xff0c;最后必然走到最后行最中间的数&#xff0c;如果为偶数&#xff0c;则取中间两个数的最大值&#xff0c; //因为向左下走的次数与向右下走的次数相差不能超过 1 #include …

探索stable diffusion的奇妙世界--01

目录 1. 理解prompt提示词&#xff1a; 2. Prompt中的技术参数&#xff1a; 3. Prompt中的Negative提示词&#xff1a; 4. Prompt中的特殊元素&#xff1a; 5. Prompt在stable diffusion中的应用&#xff1a; 6. 作品展示&#xff1a; 在AI艺术领域&#xff0c;stable di…

【MATLAB第99期】#源码分享 | 基于MATLAB的SHEPard模型多输入单输出回归预测模型

【MATLAB第99期】#源码分享 | 基于MATLAB的SHEPard模型多输入单输出回归预测模型 Shepard模型(简称SP模型)就是一种直观的、可操作的相似预测法&#xff0c;常用于插值。相似预测法基本原理按照相似原因产生相似结果的原则&#xff0c;从历史样本中集中找出与现在的最相似的一…

three.js 射线Ray,三维空间中绘制线框

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs"></div> <div>{{ res1 }}</div> <div>{{ res2 }}</div><…

Feed、RSS、Atom概念对比及ROME实战

概述 在豆瓣等网站里&#xff0c;经常会看到如下订阅Button&#xff1a; 本文记录一下相关概念学习成果。 Feed Feed&#xff1a;消息来源&#xff0c;一种资料格式&#xff0c;网站通过它将最新资讯传播给用户。用户能够订阅某网站的前提条件是网站有提供Feed。Feed被很多…