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,jquery闭包概念分析
Jun 19 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
Jan 21 Javascript
浅谈javascript实现八大排序
Apr 27 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 Javascript
js动态获取子复选项并设计全选及提交的实现方法
Jun 24 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
Feb 13 Javascript
bootstrap实现的自适应页面简单应用示例
Mar 09 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
关于JSON解析的实现过程解析
Oct 08 Javascript
用vue 实现手机触屏滑动功能
May 28 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开发中常用的字符串操作函数
2011/02/08 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
完美的php分页类
2017/10/24 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
用python绘制樱花树
2020/10/09 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
韩语专业本科生求职信
2013/10/01 职场文书
大学军训感言
2014/01/10 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
经典商业广告词
2014/03/13 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
大学开学计划书
2014/04/30 职场文书
学习作风建设心得体会
2014/10/22 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书