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 相关文章推荐
javascript 最常用的10个自定义函数[推荐]
Dec 26 Javascript
JavaScript学习笔记之获取当前目录的实现代码
Dec 14 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
Aug 04 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
Oct 26 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
node.js cookie-parser之parser.js
Jun 06 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
Oct 24 Javascript
深入理解JS继承和原型链的问题
Dec 17 Javascript
form表单序列化详解(推荐)
Aug 15 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
layui自定义ajax左侧三级菜单
Jul 26 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
Aug 15 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
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
python的keyword模块用法实例分析
2015/06/30 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
如何在Django项目中引入静态文件
2019/07/26 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
浅析python实现动态规划背包问题
2020/12/31 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
庆七一活动方案
2014/01/25 职场文书
招商专员岗位职责
2014/02/08 职场文书
超市促销活动方案
2014/03/05 职场文书
司法所长先进事迹
2014/06/02 职场文书
铣工实训报告
2014/11/05 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
家电创业计划书
2019/08/05 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python