封装函数
来源:互联网 发布:海岛奇兵数据查询 编辑:程序博客网 时间:2024/06/05 04:11
var eventUtil = { //添加句柄 addHandler : function(element, type, handler){ if (element.addEventListener) { element.addEventListener(type, handler, false) } else if (element.attachEvent) { element.attachEvent('on'+type, handler); } else{ element['on'+type] = handler; } }, //删除句柄 removeHandler : function(element, type, handler){ if (element.removeEventListener) { element.removeEventListener(type, handler, false) } else if (element.detachEvent) { element.detachEvent('on'+type, handler); } else{ element['on'+type] = null; } }, //获取event getEvent : function(event){ return event?event:window.event; }, //获取事件类型 getType : function(event){ return event.type; } //获取事件目标 getElement : function(){ return event.target || event.srcElement; } //阻止默认行为 preventDefault : function(event){ if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } }, //阻止事件冒泡 stopPropagation : function(event){ if (event.stopPropagation) { event.stopPropagation(); } else { event.cancelBubble = true; } }}//获取classfunction getByClass(clsName,parent){ var oParent = parent?document.getElementById(parent):document, eles = [], elements = oParent.getElementsByTagName('*'); for (var i = 0, l = elements.length; i < l; i++) { if (elements[i].className == clsName) { eles.push(elements[i]); } } return eles;}window.onload = drag;
拖拽
function Drag(id){ var _this = this; this.disX = 0; this.disY = 0; this.oDiv = document.getElementById(id); this.oDiv.onmousedown = function (ev){ _this.fnDown(ev); return false; } } Drag.prototype.fnDown = function(ev){ var _this = this; var oEvent = ev||event; this.disX = oEvent.clientX - this.oDiv.offsetLeft; this.disY = oEvent.clientY - this.oDiv.offsetTop; document.onmousemove = function (ev){ _this.fnMove(ev); }; document.onmouseup = function (){ _this.fnUp(); }; } Drag.prototype.fnMove = function(ev){ var _this = this; var oEvent = ev||event; this.oDiv.style.left = oEvent.clientX - this.disX + 'px'; this.oDiv.style.top = oEvent.clientY - this.disY + 'px'; } Drag.prototype.fnUp = function(){ document.onmousemove = null; document.onmouseup = null; }
拖拽时不跑出窗口
function LimitDrag(id){ Drag.call(this, id);}for (var i in Drag.prototype) { LimitDrag.prototype[i] = Drag.prototype[i];};LimitDrag.prototype.fnMove = function (ev){ var oEvent = ev||event; var l = oEvent.clientX - this.disX; var t = oEvent.clientY - this.disY if (l < 0) { l = 0; } else if (l > document.documentElement.clientWidth - this.oDiv.offsetWidth) { l = document.documentElement.clientWidth - this.oDiv.offsetWidth; } this.oDiv.style.left = l + 'px'; this.oDiv.style.top = t + 'px';}
运动
function getStyle (obj, name){ if (obj.currentStyle) { return obj.currentStyle[name]; } else { return getComputedStyle(obj, false)[name]; } } function startMove(obj, json, fnEnd){ clearInterval(obj.timer); obj.timer = setInterval(function (){ var bStop = true; for (var attr in json) { var cur = 0; if (attr == 'opacity') { cur = Math.round(parseFloat(getStyle(obj,attr)*100)); } else { cur = parseInt(getStyle(obj,attr)) } var speed = (json[attr] - cur)/6; speed = speed>0?Math.ceil(speed):Math.floor(speed); if (cur != json[attr]) { bStop = false; } if (attr == 'opacity') { obj.style.filter = 'alpha(opacity:'+(cur + speed)+')'; obj.style.opacity = (cur + speed)/100; } else { obj.style[attr] = cur + speed + 'px'; } if (bStop) { clearInterval(obj.timer); if (fnEnd) fnEnd(); }; }; }, 30); }
0 0
- 函数封装
- 封装函数
- 函数封装
- 封装函数
- 函数封装
- 封装函数
- 封装函数
- 函数的封装解释
- uname函数初步封装
- VML绘图函数封装
- API常用函数封装
- 封装线程函数
- Python 函数封装
- JavaScript基本函数封装
- 封装的VC函数
- VML绘图函数封装
- MySQL 操作函数封装
- 函数封装Mysql
- Java基础(八) Java修饰符及接口详解之(一)static/final/abstract关键字及接口的使用
- C++多态
- L1-034. 点赞
- Activity的数据回传——案例:装备选择
- Minimum Time Difference
- 封装函数
- 对象锁:传递对象锁
- Java PriorityQueue是使用
- V-REP初学者笔记
- Java基础(八) Java修饰符及接口详解之(二) 内部类
- leakcanary:原理
- WordPress 自动更新设置 绕过FTP
- C#对象
- javabean学习与小结