#封装的javascript函数
###1.共享onload事件 因为后面的window.onload会覆盖前面的
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != "function") {
window.onload = func;
} else {
window.onload = function(){
oldonload();
func();
}
}
}
###2.单双行的交替样式的js文件 给表格的的行加上斑马条纹样式,参数elements为需要行的元素集合
ie9以上的浏览器可以直接用CSS3的:nth-child() 选择器,即:nth-child(odd)或nth-child(even)
function Striped(elements) {
var odd = false;
for (var j=0; j<elements.length;j++){
if (odd == true) {
elements[j].style.backgroundColor = "red";
odd = false;
} else {
odd = true;
}
}
}
###添加一个类名 通过className属性添加类名时,会覆盖元素原来的类名,所以这里封装一个函数解决
function addClass(element,value){
if (!element.className){
element.className = value;
} else {
newClassName = element.className;
newClassName += " ";
newClassName += value;
element.className = newClassName;
}
}
###删除一个类名 如果只是想删除元素的一个特定类名,可以通过如下函数解决
function removeClass(element, value) {
var classNames = element.className.split(" ");//把取得的类名字符串转成数组
var pos = -1,
i,
len;
for (i=0,len=classNames.length; i<len; i++) {
if (classNames[i] == value) {
pos=i;
break;
}
}
classNames.splice(pos,1);//splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目
element.className = classNames.join(" ");//再将数组转成字符串
}