对原生js的一些小尝试

意图仿造JQ操作以及弄个个人工具箱,不断完善中,代码均为个人摸索,所以肯定会有不少不足的地方,希望读者们能提出来。

 1 var xzhUtils = {
 2   //-----DOM对象添加类-----
 3   //--@param: obj  DOM对象
 4   //--@param: cls  添加的类
 5   addClass : function (obj, cls){
 6     var ocls = obj.className;
 7     if(!ocls){
 8       obj.className = cls;
 9     } else{
10       ocls += " "+cls;
11       obj.className = ocls;
12     }
13   },
14   //-----DOM对象移除类-----
15   //--@param: obj  DOM对象
16   //--@param: cls  移除的类
17   removeClass : function (obj, cls){
18     var ocls = obj.className;
19     if(ocls){
20       var arr = ocls.split(" ");
21       for(var i in arr){
22         if(arr[i]==cls){
23           arr.splice(i,1);
24           break;
25         }
26       }
27       ocls = arr.join(" ");
28       obj.className = ocls;
29     }
30   },
31   //-----计算上卷值-----
32   scrollPos : function() {
33     var scrollPos; 
34     if (typeof window.pageYOffset != ‘undefined‘){ 
35       scrollPos = window.pageYOffset; 
36     }else if (typeof document.compatMode != ‘undefined‘ && document.compatMode != ‘BackCompat‘){ 
37       scrollPos = document.documentElement.scrollTop; 
38     }else if (typeof document.body != ‘undefined‘){ 
39       scrollPos = document.body.scrollTop; 
40     }
41     return scrollPos;
42   },
43   //-----获取下一个兄弟节点-----
44   //--@param: eventObj  要获取下一兄弟节点的DOM对象
45   //--@return: x  eventObj的下一兄弟节点
46   next : function(eventObj){
47     var e = eventObj;
48     var x = e.nextSibling;
49     while(x.nodeType!=1){
50       x = x.nextSibling;
51     }
52     return x;
53   }
54 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。