95 lines
3.1 KiB
JavaScript
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,'');
|
|
}
|
|
}; |