您的位置:首页 > Web前端 > CSS

JS常用方法(获取Class、获取元素样式、事件监听、cookie、ajax等)

2016-12-09 12:09 801 查看
var Util = {};
Util.byClass = function (oClass) {//全局获取
var tags = document.all ? document.all : document.getElementsByTagName('*');
var arr = [];
var reg = new RegExp("\\b" + oClass + "\\b");
for (var i = 0; i < tags.length; i++) {
if (reg.test(tags[i].className)) {
arr.push(tags[i]);
}
}
return arr;
};
Util.byClass2 = function (parentID, oClass) {//局部获取
var parent = document.getElementById(parentID);
var tags = parent.all ? parent.all : parent.getElementsByTagName('*');
var arr = [];
var reg = new RegExp("\\b" + oClass + "\\b");
for (var i = 0; i < tags.length; i++) {
if (reg.test(tags[i].className)) {
arr.push(tags[i]);
}
}
return arr;
};
Util.getStyle = function (obj, oStyle) {//获取元素的样式
if (obj.currentStyle) {
return obj.currentStyle[oStyle];
} else {
return getComputedStyle(obj, null)[oStyle];
}
};
Util.addEvent = function (obj, type , fn) {//添加事件监听
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
} else if (obj.attachEvent) {
obj.attachEvent('on' + type, fn);
} else {
obj['on' + type] = fn;
}
};
Util.removeEvent = function (obj, type, fn) {//删除事件监听
if (obj.removeEventListener) {
obj.removeEventListener(type, fn, false);
} else if (obj.detachEvent) {
obj.detachEvent('on' + type, fn);
} else {
obj['on' + type] = null;
}
};
Util.getOffsetTL = function (obj) {//获取obj到body左右的offset值
var l = 0,
t = 0;
while (obj) {
l = l + obj.offsetLeft + obj.clientLeft;
t = t + obj.offsetTop + obj.clientTop;
obj = obj.offsetParent;
}
return {left: l, top, t};
}
Util.setCookie = function (key, val, days) {
var dates = new Date();
dates.setDate(dates.getDate() + days);
document.cookie = key + '=' + escape(val) + '; expires=' + dates;
};
Util.getCookie = function (key) {
var arr1 = document.cookie.split('; ');
for (var i = 0; i < arr1.length; i++) {
var arr2 = arr1[i].split('=');
if (arr2[0] == key) {
return unescape(arr2[1]);
}
}
return false;
};
Util.removeCooie = function (key) {
Util.setCookie(key, 'aaa', -1);
};
Util.ajax = function (url, successFn, failureFn) {
var xhr = null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
xhr.open('get', url, true);
xhr.send(null);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 400) {
successFn(xhr.responsText);
} else {
if (failureFn) {
failureFn();
} else {
alert(xhr.status);
}
}
}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐