工具类函数

原创 2016年05月30日 13:22:41
var utility = {
Event: {
addHandler: function(el, type, handler) {
if (el.addEventListener !== undefined) {
el.addEventListener(type, handler, false)
} else if (el.attachEvent) {
el.attachEvent('on' + type, handler);
} else {
el['on' + type] = handler;
}
},
removeHandler: function(el, type, handler) {
if (el.removeEventListener !== undefined) {
el.removeEventListener(type, handler);
} else if (el.detachEvent) {
el.detachEvent(type, handler);
} else {
el['on' + type] = null;
}
},
getEvent: function(event) {
return (event !== undefined) ? event : window.event;
},
getTarget: function(event) {
return event.target !== undefined ? event.target : event.srcElement;
},
preventDefault: function(event) {
if (event.preventDefault !== undefined) {
event.preventDefault();
} else {
event.returnVaule = false;
}
},
stopPropagation: function(event) {
if (event.stopPropagation !== undefined) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
},
Cookie: {
setCookie: function(name, value, days) {
if (days !== undefined) {
var oDate = new Date();
oDate.setDate(oDate.getDate() + days);
document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value) + ';expires=' + oDate;
} else {
document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);
}


},
getCookie: function(name) {
var cookieArray = decodeURIComponent(document.cookie).split('; ');
var cookieOfArray = [];
for (var i = 0; i < cookieArray.length; i++) {
cookieOfArray = cookieArray[i].split('=');
if (cookieOfArray[0] === name) {
return cookieOfArray[1];
}
}
return '';
},
removeCookie: function(name) {
this.setCookie(name, '', -1);
}
},
Ajax: {
send: function(method, url, asyn, successfn, errorfn) {
var xhr = null;
if (window.ActiveXObject) { //如果是IE
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest(); //实例化一个xmlHttpReg
}
var ajaxResponseOK = (location.protocol === 'file:') ? 0 : 200;
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === ajaxResponseOK) {
if (typeof successfn === 'function') {
successfn(xhr.responseText);
}
} else {
if (typeof errorfn === 'function') {
errorfn(xhr.status);
}
}
}
}
xhr.open(method, url, asyn);
xhr.send();
}
},
Movement: {
getStyle: function(obj, att) {
if (obj.currentStyle) {
return obj.currentStyle[att];
} else {
return getComputedStyle(obj, false)[att];
}
},
startMove: function(obj, json, fn) {
clearInterval(obj.timer);
var self = this;
obj.timer = setInterval(function() {
var isOver = true;
for (var att in json) {
var iCur = 0;
if (att === 'opacity') {
iCur =parseInt(parseFloat(self.getStyle(obj, att)) * 100);
} else {
iCur = parseInt(self.getStyle(obj, att));
}
var iSpeed = (json[att] - iCur) / 8;
iSpeed = (iSpeed > 0) ? Math.ceil(iSpeed) : Math.floor(iSpeed);
if (iCur !== json[att]) {
isOver = false;
}


if (att === 'opacity') {
obj.style.filter = 'alpha(opacity:' + (iCur + iSpeed) + ')'
obj.style[att] = (iCur + iSpeed) / 100;
// document.getElementById('txt1').value=getStyle(obj,att);
} else {
obj.style[att] = iCur + iSpeed + 'px';
}


}
if (isOver) {
clearInterval(obj.timer);
if (fn) {
fn();
}
}
}, 30);
}
}
}

相关文章推荐

黑马程序员——3.面向对象(堆栈、匿名、封装、构造函数、this、静态、数组工具类)

Java面向对象(堆栈、匿名、封装、构造函数、this、静态、数组工具类)

Struts2工具类 实现获取Request/Response/Session的简化函数

import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.h...

Struts2工具类[实现获取Request/Response/Session与绕过jsp/freemaker直接输出文本的简化函数]

package org.eline.web.struts2; import java.io.IOException; import java.util.Map; import javax.serv...

第 11 章 jQuery 工具类函数

获取浏览器的名称与版本信息 检测浏览器是否属于 W3C 盒子模型 检测对象是否为空 检测对象是否为原始对象 检测两个节点的包含关系 字符串操作函数 URL 操作函数 使用extend扩展工具函数 使用...

自己动手封装js工具类(JS中定义类的几种方式:混合的构造函数/原型方式,动态原型等)

整理内容来源网络: 1、工厂方式    function Car(){    var ocar = new Object;    ocar.color = "blue";    oc...

boost—— 函数与回调ref小工具类

重点内容#if 0namespace boost { template class reference_wrapper; reference_wrapper ref(T&); refere...

StringUtil工具类 之 字符串长度截取函数

/** *Summary:截取字符串为指定长度,如果字符串长度没有那么长,返回原字符串 * subStringToLength() * @param str 原字符串 * @param l...

jQuery 工具类函数

1.获取浏览器的名称与版本信息 $.browser对象可以获取浏览器的名称和版本信息 $.browser.chrome为true,表示当前为Chrome浏览器 $.browser.mozilla为tr...

Kotlin语法学习-变量定义、函数扩展、Parcelable序列化、编写工具类、Activity跳转

今年 Google I/O 2017 开发者大会中,Google 宣布正式把 Kotlin 纳入 Android 程序的官方一级开发语言(First-class language),作为Android...

数组--->工具类的构造函数需私有化,成员方法为静态

class ArrayTool { private ArrayTool() { } public static int getMax(int[] arr) { int m...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:工具类函数
举报原因:
原因补充:

(最多只允许输入30个字)