日期:2014-05-16  浏览次数:20311 次

工作中常用javascript代码整理
工作中会常用到的一些javascript功能模块,贴出来让大家参考下,大虾们有更好的idea欢迎指正完善.
document太长了 简化为D
var D = document;

浏览器类型判断
var broswer = {
     isIE:navigator.userAgent.toLowerCase().match(/msie ([\d.]+)/)?true:false,
     ie6:navigator.userAgent.toLowerCase().match(/msie 6/)?true:false,
     ie7:navigator.userAgent.toLowerCase().match(/msie 7/)?true:false,
     ie8:navigator.userAgent.toLowerCase().match(/msie 8/)?true:false,
     isMozilla:navigator.userAgent.toLowerCase().match(/firefox\/([\d.]+)/)?true:false,
     isOpera:(navigator.userAgent.toLowerCase().indexOf('opera')!=-1)
}

StringBuffer工具,在处理大量字符串时使用
 function StringBuffer(){
    this.sBuf = new Array();
 }
 StringBuffer.prototype.append = function(str){
    this.sBuf.push(str);
 }
 StringBuffer.prototype.toString = function(){
    return this.sBuf.join("");
 }


util工具包
/**
 *util工具包
 1: util.cElement(t,o) 创建页面元素 t是标签 o是属性集
 2: util.each(r,fn,b,e) 循环执行数组或者集合的fn功能  r:数组 fn:function b:循环开始位置 e:循环结束位置 
 3: util.stopPropagation() 取消事件冒泡
 4: util.$() $符获取元素
 */
var util = {
   cElement:function(t,o){
	   if(broswer.isIE&&(t.toLowerCase()=='input')&&(!!o)&&(!!o.type)&&(o.type.toLowerCase()=="radio")){
	     var s = "";
	     for(var p in o){s+= (p=="cssText")?("style='"+o[p]+"'"):(p+"='"+o[p]+"'");}
	     return D.createElement("<input type='radio' "+s+"  />");/**在ie中创建type为radio的input元素的时候会无法选中 故采用此种方法*/
	   }else{
	      var tag = D.createElement(t);
	      for(var p in o){
		     (p=="cssText")?tag.style.cssText = o[p]:tag[p] = o[p];
		  };return tag;
	   }
   },
   each:function(r,fn,b,e){
      var i = b||0; var l = e&&e<r.length?e:r.length;
	   for(var i=b||0;i<l;i++){
	      var rlt = fn(r[i],i);
	      if(rlt!=undefined){
	          return rlt;
	      }
	   }
   },
   stopPropagation:function(){
	    var e = window.event?window.event:_stopPropagation.caller.arguments[0];
	    if(broswer.isIE){ //ie
	        window.event.cancelBubble = true; 
	    }else if(e &&e.stopPropagation){// fire opera
	    	e.stopPropagation(); 
	    }
   },
   $:function(){
       var r = arguments;
	   if(r.length==0) return ;
	   if(r.length==1){
	      return D.getElementById(r[0]);
	   }else{
	      var o = {};
	      for(var i=0;i<r.length;i++){
	         var e = D.getElementById(r[i]);
	         if(e) o[""+r[i]+""] = e;
	      }
	      return o;
	   }
   }
}

未完待整理...