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