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 相关文章推荐
北京奥运官方网站幻灯切换效果flash版打包下载
Jan 30 Javascript
JavaScript 空位补零实现代码
Feb 26 Javascript
jQuery实现图片左右滚动特效
Apr 20 Javascript
js实现图片放大和拖拽特效代码分享
Sep 05 Javascript
jQuery拖动布局其结果保存到数据库
Oct 09 Javascript
Angular的模块化(代码分享)
Dec 26 Javascript
js生成随机数方法和实例
Jan 17 Javascript
提高JavaScript执行效率的23个实用技巧
Mar 01 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
Mar 03 Javascript
Layui 设置select下拉框自动选中某项的方法
Aug 14 Javascript
vue实现打印功能的两种方法
Sep 07 Javascript
layui实现左侧菜单点击右侧内容区显示
Jul 26 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 数组基础知识小结
2010/08/20 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php对数组排序代码分享
2014/02/24 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
php防止sql注入简单分析
2015/03/18 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
浅谈python中的变量默认是什么类型
2016/09/11 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
Python用字典构建多级菜单功能
2019/07/11 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
运动会广播稿500字
2014/01/28 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
mysql insert 存在即不插入语法说明
2022/03/25 MySQL