relationship/script/common.js
2016-03-16 15:01:44 +08:00

95 lines
3.1 KiB
JavaScript

if (typeof Array.prototype.indexOf != "function") {
Array.prototype.indexOf = function (searchElement, fromIndex) {
var index = -1;
fromIndex = fromIndex * 1 || 0;
for (var k = 0, length = this.length; k < length; k++) {
if (k >= fromIndex && this[k] === searchElement) {
index = k;
break;
}
}
return index;
};
}
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^\s+|\s+$/g,'');
};
}
//跨浏览器DOM对象
var DOMUtil = {
getStyle:function(node,attr){
return node.currentStyle ? node.currentStyle[attr] : getComputedStyle(node,0)[attr];
},
getScroll:function(){ //获取滚动条的滚动距离
var scrollPos={};
if (window.pageYOffset||window.pageXOffset) {
scrollPos['top'] = window.pageYOffset;
scrollPos['left'] = window.pageXOffset;
}else if (document.compatMode && document.compatMode != 'BackCompat'){
scrollPos['top'] = document.documentElement.scrollTop;
scrollPos['left'] = document.documentElement.scrollLeft;
}else if(document.body){
scrollPos['top'] = document.body.scrollTop;
scrollPos['left'] = document.body.scrollLeft;
}
return scrollPos;
},
getClient:function(){ //获取浏览器的可视区域位置
var l,t,w,h;
l = document.documentElement.scrollLeft || document.body.scrollLeft;
t = document.documentElement.scrollTop || document.body.scrollTop;
w = document.documentElement.clientWidth;
h = document.documentElement.clientHeight;
return {'left':l,'top':t,'width':w,'height':h} ;
},
getNextElement:function(node){ //获取下一个节点
if(node.nextElementSibling){
return node.nextElementSibling;
}else{
var NextElementNode = node.nextSibling;
while(NextElementNode.nodeValue != null){
NextElementNode = NextElementNode.nextSibling
}
return NextElementNode;
}
},
getElementById:function(idName){
return document.getElementById(idName);
},
getElementsByClassName:function(className,context,tagName){ //根据class获取节点
if(typeof context == 'string'){
tagName = context;
context = document;
}else{
context = context || document;
tagName = tagName || '*';
}
if(context.getElementsByClassName){
return context.getElementsByClassName(className);
}
var nodes = context.getElementsByTagName(tagName);
var results= [];
for (var i = 0; i < nodes.length; i++) {
var node = nodes[i];
var classNames = node.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
if (classNames[j] == className) {
results.push(node);
break;
}
}
}
return results;
},
addClass:function(node,classname){ //对节点增加class
if(!new RegExp("(^|\s+)"+classname).test(node.className)){
node.className = (node.className+" "+classname).replace(/^\s+|\s+$/g,'');
}
},
removeClass:function(node,classname){ //对节点删除class
node.className = (node.className.replace(classname,"")).replace(/^\s+|\s+$/g,'');
}
};