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实现轮显新闻标题链接
Aug 13 Javascript
根据出生日期自动取得星座的js代码
Jul 20 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
Dec 16 Javascript
js判断浏览器版本以及浏览器内核的方法
Jan 20 Javascript
自己编写的支持Ajax验证的JS表单验证插件
May 15 Javascript
浅析JavaScript声明变量
Dec 21 Javascript
封装好的javascript前端分页插件pagination
Jan 04 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 Javascript
解决Layui 表格自适应高度的问题
Nov 15 Javascript
ES6 十大特性简介
Dec 09 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 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将数据导入到Foxmail的实现代码
2010/09/05 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
php简单统计中文个数的方法
2016/09/30 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
php格式文件打开的四种方法
2018/02/24 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
python使用win32com库播放mp3文件的方法
2015/05/30 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
集团薪酬管理制度
2014/01/13 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书