注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

百鬼夜行

身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。

 
 
 

日志

 
 

JS中一些常用的Util工具方法  

2011-08-01 15:03:23|  分类: js原理及提醒记忆 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
var userAgent = navigator.userAgent.toLowerCase();
 var Tools = {
  ie : /*@cc_on!@*/false ,
  ie6 : navigator.appVersion.indexOf("MSIE 6.0") != -1,
  isWebkit : /applewebkit/.test( userAgent ) ,
  $ : function(id,docObj){
   if(!docObj){
    var doc = document;
    }
   return doc.getElementById(id);
  },
  getElementsByClassName: function(obj, name){
   var checkNode = function(node,cname,arr){ 
     if(node.hasChildNodes()){ 
      var obj=node.childNodes; 
      for(var i=0;i<obj.length;checkNode(obj[i],cname,arr),i++); 
     } 
     
     try{ 
      if(node.className!=null){ 
       var cnames=node.className.split(' ');  
       for(var i=0; i<cnames.length; (cnames[i]==cname) ? arr.push(node) : null, i++) ; 
      } 
     }catch(err){}
    }
   var arr = [];
   checkNode(obj, name, arr); 
   return arr; 
  },
  isDefined:function(obj, field){
   return typeof (obj[field]) != "undefined";
  },
  isFunction: function(obj) {
   return !!(obj && obj.constructor && obj.call && obj.apply);
  },
  createElement:function(tName,docObj){
   if(!docObj){
    var doc = document;
    }
   return doc.createElement(tName);  
  },
  css : function( element, styles )
  {
   var style = element.style ;
   for ( var name in styles ){
    style[ name ] = styles[ name ] ;
   }
  },
  getOffsetPosition:function(elem){
   if ( !elem ) return {left:0, top:0};
   var top = 0, left = 0;
   if ( "getBoundingClientRect" in document.documentElement ){
    //jquery方法
    var box = elem.getBoundingClientRect(),
    doc = elem.ownerDocument,
    body = doc.body,
    docElem = doc.documentElement,
    clientTop = docElem.clientTop || body.clientTop || 0,
    clientLeft = docElem.clientLeft || body.clientLeft || 0,
    top  = box.top  + (self.pageYOffset || docElem && docElem.scrollTop  || body.scrollTop ) - clientTop,
    left = box.left + (self.pageXOffset || docElem && docElem.scrollLeft || body.scrollLeft) - clientLeft;
   }else{
    do{
     top += elem.offsetTop || 0;
     left += elem.offsetLeft || 0;
     elem = elem.offsetParent;
    } while (elem);
    }
   return {left:left, top:top}; 
  },
  trim : function(str){
   return str.replace(/(^\s*)|(\s*$)/g, "");
  },
  contains: function(str1,str2){
   //按小写匹配
   return str1.toLowerCase().indexOf(str2.toLowerCase()) > -1;
  },
  hasClass : function(ele,cls) {
            return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
  },
  addClass : function(ele,cls) {
            if (!this.hasClass(ele,cls)) ele.className += " "+cls;
  },  
  removeClass :function(ele,cls) {
   if (this.hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
   }
  },
  mix: function(destination, sources){
   for(k in sources){
    if(sources[k] !== void 0){
     destination[k] = sources[k];
    }   
   }
   return destination;
  }
 };
  评论这张
 
阅读(316)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018