本人自用的global.js庫(kù)源碼分享
更新時(shí)間:2015年02月28日 09:06:27 投稿:junjie
這篇文章主要介紹了本人自用的global.js庫(kù)源碼分享,源碼中包含常用WEB操作,如命名空間、DOM操作、數(shù)據(jù)判斷、Cookie操作等功能,需要的朋友可以參考下
var GLOBAL = {};
GLOBAL.namespace = function(str) {
var arr = str.split("."), o = GLOBAL,i;
for (i = (arr[0] = "GLOBAL") ? 1 : 0; i < arr.length; i++) {
o[arr[i]] = o[arr[i]] || {};
o = o[arr[i]];
}
};
//Dom相關(guān)
GLOBAL.namespace("Dom");
GLOBAL.Dom.getNextNode = function (node) {
node = typeof node == "string" ? document.getElementById(node) : node;
var nextNode = node.nextSibling;
if (!nextNode) {
return null;
}
if (!document.all) {
while (true) {
if (nextNode.nodeType == 1) {
break;
} else {
if (nextNode.nextSibling) {
nextNode = nextNode.nextSibling;
} else {
break;
}
}
}
return nextNode;
}
}
GLOBAL.Dom.setOpacity = function(node, level) {
node = typeof node == "string" ? document.getElementById(node) : node;
if (document.all) {
node.style.filter = 'alpha(opacity=' + level + ')';
} else {
node.style.opacity = level / 100;
}
};
GLOBAL.Dom.getElementsByClassName = function (str, root, tag) {
if (root) {
root = typeof root == "string" ? document.getElementById(root) : root;
} else {
root = document.body;
}
tag = tag || "*";
var els = root.getElementsByTagName(tag), arr = [];
for (var i = 0, n = els.length; i < n; i++) {
for (var j = 0, k = els[i].className.split(" "), l = k.length; j < l; j++) {
if (k[j] == str) {
arr.push(els[i]);
break;
}
}
}
return arr;
}
GLOBAL.namespace("Event");
GLOBAL.Event.stopPropagation = function(e) {
e = window.event || e;
if (document.all) {
e.cancelBubble = true;
} else {
e.stopPropagation();
}
};
GLOBAL.Event.getEventTarget = function(e) {
e = window.event || e;
return e.srcElement || e.target;
};
GLOBAL.Event.on = function(node, eventType, handler) {
node = typeof node == "string" ? document.getElementById(node) : node;
if (document.all) {
node.attachEvent("on" + eventType, handler);
} else {
node.addEventListener(eventType, handler, false);
}
};
//Lang相關(guān)
GLOBAL.namespace("Lang");
GLOBAL.Lang.trim = function(ostr) {
return ostr.replace(/^\s+|\s+$/g, "");
};
GLOBAL.Lang.isNumber = function(s) {
return !isNaN(s);
};
function isString(s) {
return typeof s === "string";
}
function isBoolean(s) {
return typeof s === "boolean";
}
function isFunction(s) {
return typeof s === "function";
}
function isNull(s) {
return s === null;
}
function isUndefined(s) {
return typeof s === "undefined";
}
function isEmpty(s) {
return /^\s*$/.test(s);
}
function isArray(s) {
return s instanceof Array;
}
GLOBAL.Dom.get = function (node) {
node = typeof node === "string" ? document.getElementById(node) : node;
return node;
}
function $(node) {
node = typeof node == "string" ? document.getElementById(node) : node;
return node;
}
GLOBAL.Lang.extend = function(subClass, superClass) {
var F = function() {
};
F.prototype = superClass.prototype;
subClass.prototype = new F();
subClass.prototype.constructor = subClass;
subClass.superClass = subClass.prototype;
if (superClass.prototype.constructor == Object.prototype.constructor) {
superClass.prototype.constructor = superClass;
}
};
GLOBAL.namespace("Cookie");
GLOBAL.Cookie = {
read: function (name) {
var cookieStr = ";" + document.cookie + ";";
var index = cookieStr.indexOf(";" + name + "=");
if (index != -1) {
var s = cookieStr.substring(index + name.length + 3, cookieStr.length);
return unescape(s.substring(0, s.indexOf(";")));
} else {
return null;
}
},
set: function (name, value, expires) {
var expDays = expires * 24 * 60 * 60 * 1000;
var expDate = new Date();
expDate.setTime(expDate.getTime() + expDays);
var expString = expires ? ";expires=" + expDate.toGMTString() : "";
var pathString = ";path=/";
document.cookie = name + "=" + escape(value) + expString + pathString;
},
del: function (name, value, expires) {
var exp = new Date(new Date().getTime() - 1);
var s = this.read(name);
if (s != null) {
document.cookie = name + "=" + s + ";expires=" + exp.toGMTString() + ";path=/";
}
}
};
相關(guān)文章
JS獲取當(dāng)前網(wǎng)頁(yè)大小以及屏幕分辨率等
這篇文章主要介紹了JS獲取當(dāng)前網(wǎng)頁(yè)大小以及屏幕分辨率等,方法雖簡(jiǎn)單,但比較實(shí)用,需要的朋友可以參考下2014-09-09
JS 日期驗(yàn)證正則附asp日期格式化函數(shù)
JS 日期驗(yàn)證正則 asp日期格式化函數(shù),大家以后的日期就是能通過驗(yàn)證的了。2009-09-09
JavaScript邏輯運(yùn)算符相關(guān)總結(jié)
這篇文章主要介紹了JavaScript邏輯運(yùn)算符的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-09-09
使用JavaScript實(shí)現(xiàn)輪播圖特效
這篇文章主要為大家詳細(xì)介紹了使用JavaScript實(shí)現(xiàn)輪播圖特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
DOM_window對(duì)象屬性之--clipboardData對(duì)象操作代碼
clipboardData 對(duì)象提供了對(duì)于預(yù)定義的剪貼板格式的訪問,以便在編輯操作中使用。2011-02-02
echarts修改橫坐標(biāo)顏色簡(jiǎn)單代碼示例
這篇文章主要給大家介紹了關(guān)于echarts修改橫坐標(biāo)顏色的相關(guān)資料,在項(xiàng)?中常常會(huì)?到echarts的實(shí)例,根據(jù)不同的需求字體顏?需要變化,需要的朋友可以參考下2023-07-07
js實(shí)現(xiàn)canvas保存圖片為png格式并下載到本地的方法
本篇文章主要介紹了js實(shí)現(xiàn)canvas保存圖片為png格式并下載到本地的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-08-08

