JS实现碰撞检测效果


Posted in Javascript onMarch 12, 2020

本文实例为大家分享了JS实现碰撞检测效果的具体代码,供大家参考,具体内容如下

<head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 #all{
  width: 500px;
  height: 500px;
  border: 2px solid sandybrown;
  position: relative;
  margin: 0 auto;
 }
 #div1{
  width: 50px;
  height: 50px;
  background-color: red;
  position: absolute;
 }
 #center{
  width: 150px;
  height: 150px;
  background-color: black;
  position: absolute;
  margin: 175px;
 }
 </style>
</head>
<body>
 <div id="all">
 <div id="div1"></div>
 <div id="center"></div>
 </div>
 <script type="text/javascript">
 var oAll = document.getElementById("all");
 var oDiv1 = document.getElementById("div1");
 var oCenter = document.getElementById("center");
 
 var maxL = oAll.clientWidth - oDiv1.clientWidth;
 var maxT = oAll.clientHeight - oDiv1.clientHeight;
 
 oDiv1.onmousedown = function(){
  var ev = ev || window.event;
  var lessX = ev.clientX - oDiv1.offsetLeft;
  var lessY = ev.clientY - oDiv1.offsetTop;
  document.onmousemove = function(){
  var ev = ev || window.event;
  var posL = ev.clientX - lessX;
  var posT = ev.clientY - lessY;
  
  if(oCenter.offsetLeft-oDiv1.offsetWidth<posL && posL<325 && oCenter.offsetLeft-oDiv1.offsetWidth<posT && posT<325 ){
   oCenter.style.backgroundColor = "red"
  }else{
   oCenter.style.backgroundColor = "black"
  }
  if(posL<0){
   posL = 0;
  }
  if(posT<0){
   posT = 0;
  }
  if(posL>maxL){
   posL = maxL;
  }
  if(posT>maxT){
   posT = maxT;
  }
  oDiv1.style.left = posL + "px";
  oDiv1.style.top = posT + "px";
  }
 }
 document.onmouseup = function(){
  document.onmousemove = null;
  oDiv1.onmousemove = null;
 }
 </script>
</body>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS支持带x身份证号码验证函数
Aug 10 Javascript
javascript 打印页面代码
Mar 24 Javascript
jquery 学习笔记一
Apr 07 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
Dec 09 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
Mar 19 Javascript
JavaScript设计模式之策略模式实例
Oct 10 Javascript
使用AngularJS处理单选框和复选框的简单方法
Jun 19 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
通俗解释JavaScript正则表达式快速记忆
Aug 23 Javascript
分享vue.js devtools遇到一系列问题
Oct 24 Javascript
Vue数字输入框组件的使用方法
Oct 19 Javascript
原生js实现滑块区间组件
Jan 20 Javascript
使用JS实现动态时钟
Mar 12 #Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
Mar 12 #Javascript
js实现动态时钟
Mar 12 #Javascript
package.json各个属性说明详解
Mar 11 #Javascript
package.json中homepage属性的作用详解
Mar 11 #Javascript
vue项目中使用vue-layer弹框插件的方法
Mar 11 #Javascript
Vue组件模板及组件互相引用代码实例
Mar 11 #Javascript
You might like
PHP的FTP学习(二)
2006/10/09 PHP
截获网站title标签之家内容的例子
2006/10/09 PHP
php代码架构的八点注意事项
2016/01/25 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
javascript RadioButtonList获取选中值
2009/04/09 Javascript
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
Python----数据预处理代码实例
2019/03/20 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
毕业论文答辩演讲稿
2015/06/23 职场文书
离婚民事起诉状
2015/08/03 职场文书
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python
python套接字socket通信
2022/04/01 Python
使用Apache Camel表达REST服务的方法
2022/06/10 Servers
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL