1. var EventHandle = {
  2. addEvent:function(ele,type,handle){
  3. if (ele.addEventListener) {
  4. ele.addEventListener(type,handle,false);
  5. }else if(attachEvent){
  6. ele.attachEvent("on"+type,handle);
  7. }else{
  8. ele["on"+type]=handle;
  9. }
  10. },
  11. deleteEvent:function(ele,type,handle){
  12. if (ele.removeEventListener) {
  13. ele.removeEventListener(type,handle,false);
  14. }else if(detachEvent){
  15. ele.detachEvent("on"+type,handle);
  16. }else{
  17. ele["on"+type]=null;
  18. }
  19. }
  20. }

//事件封装函数

 
  1. function hitFun(obj1, obj2) {
  2. var l1 = obj1.offsetLeft;
  3. var t1 = obj1.offsetTop;
  4. var b1 = t1 + obj1.offsetHeight;
  5. var r1 = l1 + obj1.offsetWidth;
  6.  
  7. var l2 = obj2.offsetLeft;
  8. var t2 = obj2.offsetTop;
  9. var r2 = l2 + obj2.offsetWidth;
  10. var b2 = t2 + obj2.offsetHeight;
  11. if(l1 > r2 || t1 > b2 || r1 < l2 || b1 < t2) {
  12. return false;
  13. }
  14. return true;
  15. }
//矩形碰撞检测函数
 
 
  1. function hitFunC(obj1,obj2){
  2. //计算半径
  3. var r1 = obj1.offsetWidth/2;
  4. var r2 = obj2.offsetWidth/2;
  5. //两个圆心之间的距离
  6. var x1 = obj1.offsetLeft + r1;
  7. var y1 = obj1.offsetTop + r1;
  8. var x2 = obj2.offsetLeft + r2;
  9. var y2 = obj2.offsetTop + r2;
  10.  
  11. var dis = Math.sqrt(Math.pow((x1 - x2),2)+Math.pow((y1 - y2),2));//Math.pow() 求几次方 Math.sqrt 开方
  12. //如果两个圆的圆心距离小于等于半径之和 证明两个圆有相交
  13. if(dis <= r1+r2){
  14. return true;
  15. }
  16. return false;
  17. }
//检测圆形碰撞
 
 
 
 
 
 
 

写一些封装part1 (事件绑定移除,圆形矩形碰撞检测)的更多相关文章

  1. 第一百三十六节,JavaScript,封装库--事件绑定

    JavaScript,封装库--事件绑定 在函数库添加两个函数 添加事件绑定函数 删除事件绑定函数 添加事件绑定函数 /** addEvent()函数库函数,跨浏览器添加事件绑定,注意:传入事件名称时 ...

  2. ie低版本内核事件兼容问题(事件绑定,绑定事件自动执行,文档模式问题)

    问题情况 搜狗等,兼容模式下,以前前端写的点击事件的代码没有, 后来一看是因为兼容模式为9,导致点击事件失效 解决办法,步骤 1,处理绑定事件兼容问题 ie低版本绑定事件只支持attactevent, ...

  3. off() 方法 与 unbind() 方法移除绑定事件的处理程序。one()函数用于为每个匹配元素的一个或多个事件绑定一次性事件处理函数

    off() 方法移除用.on()绑定的事件处理程序. unbind() 方法移除用.bind()绑定的事件处理程序. 从 jQuery 1.7开始, .on() 和 .off()方法是最好的元素上附加 ...

  4. 监听事件绑定(addEventListener、attachEvent)和移除(removeEventListener、detachEvent)

    /** * @description 事件绑定,兼容各浏览器 * @param target 事件触发对象 * @param type 事件 * @param func 事件处理函数 */ funct ...

  5. JS 中的事件绑定、事件监听、事件委托

    事件绑定 要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数.所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称. 在JavaScript中,有 ...

  6. js事件绑定细节说明

    javascript绑定事件: 经常用jQuery去写,时间长了对原生态的js事件绑定的知识会慢慢淡化或者遗忘了,必须翻出来再次总结,今天再次把js原生态事件的处理做个总结. 从最初开始,谁刚接触ja ...

  7. jQuery使用(七):事件绑定与取消,及自定事件的实现原理

    实例方法: on() one() off() trigger() hover() 一.绑定事件与jQuery事件委托 $(selector).eventType(fn); $(selector).on ...

  8. JS 事件绑定、事件监听、事件委托详细介绍

    原:http://www.jb51.net/article/93752.htm 在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定.事件监听.事件委托(事件代 ...

  9. JS+Zero Clipboard swf复制到剪贴板 兼容浏览器(bind事件绑定函数)

    转自http://www.ipmtea.net/css_ie_firefox/201107/07_499.html 1.ZeroClipboard其实是国外的一个js类库,源码结构如: var Zer ...

随机推荐

  1. PDA项目介绍

    开发工具:Microsoft Visual Studio 2008 SDK:      Windows Mobile 6 SDK 数据库:     Oracle 开发语言:C#(3.5) 版本控制工具 ...

  2. onethinkp导入excel

    /** * Excel导入函数 * @author crx349 */ if (!empty($_FILES)) { $config = array( 'maxSize' => 3145728, ...

  3. D2.Reactjs 操作事件、状态改变、路由

    下面内容代码使用ES6语法 一.组件的操作事件: 1.先要在组件类定义内定义操作事件的方法,如同event handler.若我需要监听在组件内的Button的点击事件onClick,首先定义监听方法 ...

  4. Eclipse - 修改默认user和类的创建日期

    1.找到eclipse.ini文件 2.在文件中找到 -vmargs -Duser.name=xxxxxxxx 3.修改xxxxxxxx为你的名字 4.eclipse中:Window -> Pr ...

  5. J2EE、J2SE、J2ME是什么意思?

    本文介绍Java的三大块:J2EE.J2SE和J2ME.J2SE就是Java2的标准版,主要用于桌面应用软件的编程:J2ME主要应用于嵌入是系统开发,如手机和PDA的编程:J2EE是Java2的企业版 ...

  6. hypermesh2flac3d

    hypermesh2ansys2flac3d 目的: 将hypermesh中划分的网格输出到flac3d中.过程是hypermesh12.0-ansys13.0-flac3d3.0. 视频教程详见:h ...

  7. ios中文转码的一个奇葩问题

    事情是这样的:我要在一个URL中截取一个名为‘vfname’的参数,因为这个参数的值带有中文(转码之前的形式),所以我必须将其转码. URL是这样的: http://devapi.amibaguanl ...

  8. 利用calc计算宽度

    width:calc(100% - 40px)可用 + - * / 进行计算(ie9+) 注:计算符号前后必须跟上空格.

  9. linux tar命令的使用

    tar格式,会打包成一个文件,可以对多个目录,或者多个文件进行打包 tar命令只是打包,不会压缩,打包前后大小是一样的 tar命令 -c    //打包 -x    //解压 -f    //指定文件 ...

  10. JSHelper时间格式化

    Helper.prototype.FormatDate = function (format) { var _now = new Date(); var o = { "M+": _ ...