【学习笔记】常用脚本整理

1、addLoadEvent(网页加载完成后把多个自己编写的函数绑定到window.onload事件中)

*把现有的window.onload事件处理函数的值存入便令oldonload。

*如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它。

*如果在这个处理函数上已经绑定了一些函数,就把新函数追加到现有指令的末尾。

 1 function addLoadEvent(func){
 2 var oldonload = window.onload;
 3 if (typeof window.onload != 'function'){
 4   window.onload = func;
 5   }else{
 6     window.onload = function() {
 7     oldonload();
 8     func();
 9     }
10   }
11 }

2、在原有元素后插入一个新元素(虽然DOM本身没有提供insertAfter方法,但可以手动实现)

1 function insertAfter(newElement,targetElement){
2     var parent = targetElement.parentNode;
3     if(parent.lastChild == targetElement){
4          parent.appendChild(newElement);  
5     }else{
6          parent.insertBefore(newElement,targetElement.nextSibling);//在targetElement后面元素之前添加
7     }
8 } 

 3、不同浏览器使用Ajax时需建立的XMLHttpRequest对象不同,为兼容所有浏览器,可以调用以下函数

 1 function getHTTPObject(){
 2       if(typeof XMLHttpRequest == "undefined"){
 3              XMLHttpRequest = function(){
 4                 try {return new ActiveXObject("Msxml2.XMLHTTP.6.0");}
 5                 catch(e){}
 6                 try {return new ActiveXObject("Msxml2.XMLHTTP.3.0");}
 7                 catch(e){}
 8                 try {return new ActiveXObject("Msxml2.XMLHTTP");}
 9                 catch(e){}
10                 return false;
11               }
12        }
13        return new XMLHttpRequest();
14 }                                            

 4、交替更改表格行的背景色

a.如果浏览器支持CSS3:tr:nth-child(odd) {background-color:#ffc;}

                                         tr:nth-child(even){background-color:#fff;}

b. JS实现:

 1 function stripeTables(){
 2       if(!document.getElementsByTagName) return false;
 3       var tables = document.getElementsByTagName("table");
 4       var odd,rows;
 5       for(var i=0;i<tables.length;i++){
 6              odd=false;
 7              rows= tables[i].getElementsByTagName("tr");
 8              for(var j=0;j<row.length;j++){
 9                   if(odd==true){
10                        rows[j].style.backgroundColor="#ffc";
11                        odd = false;
12                   }else{
13                        odd=true;
14                    }
15              }
16         }    
17 }                        
原文地址:https://www.cnblogs.com/lauzhishuai/p/8193756.html