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两行代码按指定格式输出日期时间
Oct 21 Javascript
jQuery图片轮播的具体实现
Sep 11 Javascript
SpringMVC返回json数据的三种方式
Dec 10 Javascript
jquery mobile开发常见问题分析
Jan 21 Javascript
Jquery表单验证失败后不提交的解决方法
Oct 18 Javascript
seajs学习教程之基础篇
Oct 20 Javascript
Easyui在treegrid添加控件的实现方法
Jun 23 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
Oct 25 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
浅谈node模块与npm包管理工具
Jan 03 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
Feb 13 Javascript
微信小程序如何调用新闻接口实现列表循环
Jul 02 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中去除所有js,html,css代码
2010/10/12 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
Jquery replace 字符替换实现代码
2010/12/02 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
js实现图片轮播效果
2015/12/19 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
input框中的name和id的区别
2016/11/16 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
js实现烟花特效
2020/03/02 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
女性时尚在线:IVRose
2019/02/23 全球购物
几道Web/Ajax的面试题
2016/11/05 面试题
机械工程师的岗位职责
2013/11/17 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
秋季运动会开幕词
2015/01/28 职场文书
唐山大地震的观后感
2015/06/05 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python