分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

js计算两个矩形相交

发布时间:2023-09-06 01:22责任编辑:苏小强关键词:js
<!DOCTYPE html><html lang="zh"><head><meta charset="UTF-8" /><style type="text/css">*{padding: 0;margin: 0;}.wrap{width: 400px;height: 400px;margin: 20px auto;border-radius: 50%;}.wrap div{width: 100px;height: 100px;background: pink;}#box1{border-radius: 50%;}</style></head><body><div class="wrap"><div id="box1"></div><div id="box2"></div></div></body><script type="text/javascript">var $box1 = document.getElementById(‘box1‘);var $box2 = document.getElementById(‘box2‘);function getCirclePoint(dom){var posit = dom.getBoundingClientRect(); posit.circleX = posit.left + posit.width/2;posit.circleY = posit.top + posit.height/2;return posit;}function crash(dom1,dom2){var result = {leavelX:false,leavelY:false}var pos1 = getCirclePoint(dom1);var pos2 = getCirclePoint(dom2);//crashXvar leavelY = Math.abs(pos1.circleY - pos2.circleY);var leavelX = Math.abs(pos1.circleX - pos2.circleX);var maxLeavelY= (pos1.height+pos2.height)/2;var maxLeavelX = (pos1.width+pos2.width)/2;if(leavelY < maxLeavelY){//x方向有可能相交var leavelXMiss = leavelX - (pos1.width + pos2.width)/2;if(leavelXMiss <= 0){//x轴方向相交console.log("x相交",leavelXMiss);result.leavelX = true;}}if(leavelX < maxLeavelX){//Y方向相交var leavelYMiss = maxLeavelY - (pos1.height + pos2.height)/2;if(leavelYMiss <= 0){//y轴相交console.log("Y相交",leavelYMiss);result.leavelY = true;}}if(leavelY == maxLeavelY && leavelX == maxLeavelX){//对角相交console.log(‘对角相交‘);result.leavelX = true;result.leavelY = true;}console.log(result);return result;}crash($box1,$box2);</script></html>

  

js计算两个矩形相交

原文地址:http://www.cnblogs.com/muamaker/p/7779673.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved