首页 > 其他分享 >碰撞测试

碰撞测试

时间:2023-06-13 18:56:10浏览次数:27  
标签:obj1 obj2 domElement 拖动 元素 碰撞 测试 offsetTop

<script> const div1 = document.getElementById('div1') const div2 = document.getElementById('div2') function move(domElement) { domElement.onmousedown = function (e) { const mouseX = e.clientX, mouseY = e.clientY, oldLeft = domElement.offsetLeft, oldTop = domElement.offsetTop document.onmousemove = function (e) { const x = e.clientX, y = e.clientY domElement.style.left = oldLeft + (x - mouseX) + 'px' domElement.style.top = oldTop + (y - mouseY) + 'px' console.log(isCrash(div1, div2)) } document.onmouseup = function () { document.onmousemove = null } } } move(div2) move(div1) function isCrash(obj1, obj2) { return !(obj1.offsetLeft + obj1.offsetWidth < obj2.offsetLeft || obj1.offsetTop + obj1.offsetHeight < obj2.offsetTop || obj2.offsetLeft + obj2.offsetWidth < obj1.offsetLeft || obj2.offsetTop + obj2.offsetHeight < obj1.offsetTop) } //!反义 括号里面是两图形不相交的情况,加上! </script>

 

这段代码实现了两个HTML元素的拖动,并且检测它们是否相交。具体来说,代码中定义了一个`move`函数,接受一个DOM元素作为参数,当该元素被鼠标按下时,会触发`mousedown`事件,开始拖动元素。在拖动过程中,`mousemove`事件会不断触发,根据鼠标移动的距离,更新元素的`left`和`top`样式属性,实现拖动的效果。当鼠标松开时,会触发`mouseup`事件,停止拖动。

另外,代码中还定义了一个`isCrash`函数,用于检测两个元素是否相交。该函数接受两个DOM元素作为参数,通过比较它们的位置和大小,判断它们是否相交。如果两个元素相交,则返回`true`,否则返回`false`。

需要注意的是,该代码中的元素拖动和碰撞检测都是在客户端(浏览器)中进行的,因此不会对服务器造成任何影响。

标签:obj1,obj2,domElement,拖动,元素,碰撞,测试,offsetTop
From: https://www.cnblogs.com/dadaya123/p/17478481.html

相关文章

  • windows下使用minio搭建s3存储,使用laravel和postman进行测试
    1、下载服务端https://dl.min.io/server/minio/release/windows-amd64/minio.exe2、启动服务minio.exeserverd:\data\minio--console-address:9090 可以看到上面有两块ip,分别是9000和9000端口,其中9090是后台管理端地址的端口,9000是前台接口端口3、创建bucket4......
  • 渗透测试 - 信息收集有哪些思路
    收集思路-从哪些方面可以去收集whois,可使用在线网站等得到域名注册人的信息邮箱电话号码姓名子域名,在线网站或子域名挖掘机等,可依靠字典,证书(crt.sh)等原理收集可以扩大攻击范围,子域名一定是有关联的,很多时候基本上都同属一个公司端口探测危险端口可以直接爆破......
  • vdbench-磁盘/文件系统性能测试工具
    vdbench是一个I/O测试工具,可以用来测试磁盘和文件系统读写性能centos7安装1、java环境[root@node1~]#yuminstall-yjava-1.8.0-openjdkjava-1.8.0-openjdk-develunzip[root@node1~]#java-versionopenjdkversion"1.8.0_292"OpenJDKRuntimeEnvironment(build......
  • 软件渗透测试进行有什么注意事项?渗透测试重要吗?
    在当今数字化快速发展的时代,软件已经渗透到我们日常生活的方方面面,但在软件的开发与发布过程中,常受到外部攻击。为此,渗透测试成为了一种非常重要的测试方式,可以有效发现软件系统中的漏洞和弱点。那么,软件渗透测试有什么注意事项?渗透测试重要吗?下面,卓码软件测评小编将给大家详......
  • Ajax-hook之百度图片测试
    /*Ajax-hook是一种比较实用的技术,它可以自定义XMLHttpRequest中的方法和属性,覆盖全局的XMLHttpRequest。当网站在使用Ajax请求动态渲染时,开发者可以对其中的请求参数和响应数据进行任意修改和展示,有些类似前面讲过的本地覆盖,区别是这里会去调用原本的XMLHttpRequest。*///......
  • YouTube测试购物功能、 2021 最值得效力的科技公司榜单、2020 移动应用年度报告等|Deco
    5DecodetheWeek≠音视频技术周刊 Imagecurtesy of BarbaraColeNewsBriefing1. Google开始测试在YouTube上购物。Google正在测试一种简化的方式来帮助用户购买在视频中看到的商品。用户只需点击屏幕左下角的购物袋图标,YouTube就会显示出一个特色商品列表。用户可以查看......
  • 使用状态机简化软件测试: 提高效率和质量
    引言  测试是软件开发中的一个关键过程。为了确保软件产品的质量和功能,拥有结构良好且有效的测试过程是很重要的。在这种情况下,TPT中的状态机(Testlet)已被证明是一种简化测试过程的有用方法。  什么是状态机?  状态机是TPT中封装了相关测试内容的容器。它可能是——......
  • springboot 测试用例 gradle
    在springboot2.4.5之后的变成了jinut5直接引用即可不需要排除org.junit.jupiter.api.Testorg.springframework.boot:spring-boot-starter-test测试数据H2packagecom.example.test_pro_gradle;importorg.junit.jupiter.api.Test;importorg.slf4j.Logger;impor......
  • Web安全-渗透测试-信息收集02
    站点搭建,WAF信息收集在安全测试中,信息收集是非常重要的一个环节,此环节的信息将影响到后续的成功几率,掌握信息的多少将决定发现漏洞机会大小,换言之决定着是否能完成目标的测试任务。也可以很直接的说:渗透测试的思路就是从信息收集这里开始站点搭建分析目录型站点目录型站......
  • 项目管理(一)——创建后端环境与测试接口
    一、创建项目(1)新建工程  在创建springboot或者springcloud项目时,idea默认使用https://start.spring.io作为脚手架,创建完成后手动去添加相关的jar包组合。  通过https://start.aliyun.com 可以直接勾选ali相关的jar包,快速的引入集成。下一步,在依赖中选择Web中的Spr......