zoukankan      html  css  js  c++  java
  • CCPry JS类库

    function CCPry(){
     
    //
     // 判断浏览器类型
     //
     this.Browser ={
         
    "isMozilla":(typeof document.implementation != 'undefined'&& (typeof document.implementation.createDocument != 'undefined'&& (typeof HTMLDocument!='undefined'),
         
    "isIE":window.ActiveXObject ? true : false,
         
    "isFirefox":navigator.userAgent.toLowerCase().indexOf("firefox")!=-1,
         
    "isOpera":navigator.userAgent.toLowerCase().indexOf("opera")!=-1
     };
     
     
    //
     //根据元素ID返回DOM对象
     //
     this.$Id=function(id){
        
    return document.getElementById(id);
     };
     
    //
     //根据元素ID返回DOM对象
     //
     this.Id=function(id){
           
    var DomObjId=this.$Id(id);
           
    if(!DomObjId){ throw new Error("No Object!");}
           
    //返回或设置对象的innerHTML属性
           this.Html=function(html){
               
    if(!this.IsUndefined(DomObjId.innerHTML))
               {
                   
    if(!this.IsNull(html)){
                      DomObjId.innerHTML
    =html;
                   }
                   
    elsereturn DomObjId.innerHTML };
               }
               
    elsethrow new Error("Object does not support the property innerHTML!");};
           };
           
    //返回或设置对象的innerText属性
           this.Text=function(text){
               
    if(!this.IsUndefined(DomObjId.innerText))
               {
                   
    if(!this.IsNull(text)){
                      DomObjId.innerText
    =text;
                   }
                   
    elsereturn DomObjId.innerText };
               }
               
    elsethrow new Error("Object does not support the property innerText!");};
           };   
           
    //返回或设置对象的value属性
           this.Val=function(val){
               
    if(!this.IsUndefined(DomObjId.value))
               {
                   
    if(!this.IsNull(val)){
                      DomObjId.value
    =val;
                   }
                   
    elsereturn DomObjId.value };
               }
               
    elsethrow new Error("Object does not support the property value!");};
           }
        
    return this;
     };
     
     
    //
     //根据元素Name返回DOM对象
     //
     this.$Name=function(name){
      
    return document.getElementsByName(name);
     };
     
     
    //
     //判断字符串是否为空或者null
     //
     this.IsNullOrEmpty=function( str ) {
      
    if(str==null){
         
    return true;
      }
      
    else{
          
    if(str.length<=0){
              
    return true;
          }
      }
      
    return false;
     };
     
    //
     //判断字符串是否为空
     //
     this.IsEmpty=function( str ) {
         
    if(str.length<=0){
             
    return true;
         }
      
    return false;
     };
     
    //
     //判断字符串是否null
     //
     this.IsNull=function( str ) {
      
    if(str==null){
         
    return true;
      }
      
    return false;
     };
     
    //
     //判断是否是函数
     //
     this.IsFunction=function( fn ) {
      
    return typeof(fn)=="function";
     };
     
     
    //
     //判断是否是对象
     //
     this.IsObject=function( fn ) {
      
    return typeof(fn)=="object";
     };
     
    //
     //判断是否是字符串
     //
     this.IsString=function( fn ) {
      
    return typeof(fn)=="string";
     };
     
     
    //
     //判断是否是数字型
     //
     this.IsNumber=function( fn ) {
      
    return typeof(fn)=="number";
     };
     
     
    //
     //判断是否是布尔型
     //
     this.IsBoolean=function( fn ) {
      
    return typeof(fn)=="boolean";
     };
     
     
    //
     //判断是否未定义
     //
     this.IsUndefined=function( fn ) {
      
    return typeof(fn)=="undefined";
     };
     
     
    //
     //判断是否是日期型
     //
     this.IsDate=function( fn ) {
      
    return fn.constructor==Date;
     };
     
     
    //
     //返回Ajax对象
     //
     this.Ajax=function(s){
      
        
    //构造XMLHttpRequest对象
        GetXmlHttpRequest=function(){
       
    var xmlHttpRequest;
       
    if(window.XMLHttpRequest) { xmlHttpRequest = new XMLHttpRequest();}
        
    else if(window.ActiveXObject) { 
        
    try { xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); } 
        
    catch (e){ xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
       }
       
    if (!xmlHttpRequest) { 
        alert(
    "创建XMLHttpRequest对象失败");
        
    return null;
       } 
       
    return xmlHttpRequest;
      };
      
      
    //默认Ajax配置
      ajaxSettings={
       url: 
    "/ajax/ProcessAjax.ashx",
       method: 
    "POST",
       timeout: 
    0,
       mimeType: 
    "application/x-www-form-urlencoded",
       async: 
    true,
       data: 
    null,
       datatype:
    "html",
       charset:
    "utf-8",
          accepts: {
           xml: 
    "application/xml, text/xml",
           html: 
    "text/html",
           script: 
    "text/javascript, application/javascript",
           json: 
    "application/json, text/javascript",
           text: 
    "text/plain",
           _default: 
    "*/*"
          },
          
    /// <summary>
             /// 请求开始时调用函数
             /// </summary>
       OnStart:function(){
        
    //start
       },
          
    /// <summary>
             /// 请求成功后回调函数
             /// </summary>
       /// <param name="msg">服务器返回数据</param>
       OnSuccess:function(msg){
        
    //success
       },
       
    /// <summary>
             /// 操作异常调用函数
             /// </summary>
       /// <param name="msg">异常信息</param>
       OnException:function(msg){
        
    //exception
       },
       
    /// <summary>
             /// 请求超时后调用函数
             /// </summary>
       OnTimeout:function(){
        
    //timeout
       },
       
    /// <summary>
             /// 请求完成后调用函数
             /// </summary>
       OnComplate:function(){
        
    //complate
       }
      };
      
      
    if(this.IsObject(s)){

       
    /*检测传入对象*/
       ajaxSettings.url 
    = (!this.IsUndefined(s.url) && this.IsString(s.url)) ? s.url : ajaxSettings.url;
       ajaxSettings.method 
    =(!this.IsUndefined(s.method) && this.IsString(s.method)) ? s.method : ajaxSettings.method;
       ajaxSettings.timeout 
    = (!this.IsUndefined(s.timeout) && this.IsNumber(s.timeout)) ? s.timeout : ajaxSettings.timeout;
       ajaxSettings.mimeType
    = (!this.IsUndefined(s.mimeType) && this.IsString(s.mimeType)) ? s.mimeType : ajaxSettings.mimeType;
       ajaxSettings.async 
    = (!this.IsUndefined(s.async) && this.IsBoolean(s.async)) ? s.async : ajaxSettings.async;
       ajaxSettings.data 
    = (!this.IsUndefined(s.data) && this.IsString(s.data)) ? s.data : ajaxSettings.data;
       ajaxSettings.datatype 
    = (!this.IsUndefined(s.datatype) && this.IsString(s.datatype)) ? s.datatype: ajaxSettings.datatype;
       ajaxSettings.charset 
    =(!this.IsUndefined(s.charset) && this.IsString(s.charset)) ? s.charset: ajaxSettings.charset;
       ajaxSettings.OnStart 
    =(!this.IsUndefined(s.OnStart) && this.IsFunction(s.OnStart)) ? s.OnStart : ajaxSettings.OnStart;
       ajaxSettings.OnSuccess 
    =(!this.IsUndefined(s.OnSuccess) && this.IsFunction(s.OnSuccess)) ? s.OnSuccess : ajaxSettings.OnSuccess;
       ajaxSettings.OnException
    =(!this.IsUndefined(s.OnException)&&this.IsFunction(s.OnException))?s.OnException:ajaxSettings.OnException;
       ajaxSettings.OnTimeout 
    = (!this.IsUndefined(s.OnTimeout) && this.IsFunction(s.OnTimeout)) ? s.OnTimeout : ajaxSettings.OnTimeout;
       ajaxSettings.OnComplate
    =(!this.IsUndefined(s.OnComplate) && this.IsFunction(s.OnComplate)) ? s.OnComplate : ajaxSettings.OnComplate;

       
    //赋值xmlhttp,传入XMLHttpRequest对象
       var xmlhttp=GetXmlHttpRequest();
       
    var requestDone=false;
       
    try
       {
               
    //根据POST或GET方法判断xmlhttp.send()需要传入什么参数
               if (ajaxSettings.data && ajaxSettings.method.toUpperCase() == "GET" ) {
          ajaxSettings.url 
    += (ajaxSettings.url.match(/\?/? "&" : "?"+ ajaxSettings.data;
          ajaxSettings.data 
    = null;
         }
         xmlhttp.open(ajaxSettings.method,ajaxSettings.url,ajaxSettings.async);
         xmlhttp.setRequestHeader(
    "Content-Type", ajaxSettings.mimeType);
         xmlhttp.setRequestHeader(
    "X-Requested-With""XMLHttpRequest");     // 设置标题表明一个XMLHttpRequest的请求
         xmlhttp.setRequestHeader("Accept",ajaxSettings.datatype && ajaxSettings.accepts[ ajaxSettings.datatype ] ?ajaxSettings.accepts[ ajaxSettings.datatype ] + ", */*" :ajaxSettings.accepts._default);
         
    if(ajaxSettings.timeout>0){
          
    var timer=setTimeout(function(){requestDone=true;xmlhttp.abort();},ajaxSettings.timeout);
         }
         
    var xmlreadystatechange=function ()
         {
          
    if(requestDone){ ajaxSettings.OnTimeout(); } //timeout
          else if(xmlhttp.readyState==4//success
          {
           
    if (timer) { clearTimeout(timer); timer = null;} 
           
    if (xmlhttp.status==200 || xmlhttp.status=="success")
           {  
            
    switch(ajaxSettings.datatype.toLowerCase()) 
            {
             
    case "html":
              ajaxSettings.OnSuccess(xmlhttp.responseText);
              
    break;
             
    case "xml"
              ajaxSettings.OnSuccess(xmlhttp.responseXML); 
              
    break;
            }
           }
           ajaxSettings.OnComplate(); 
    //complate
           if (ajaxSettings.async&&xmlhttp){ xmlhttp=null; }
          }
          
    else{ajaxSettings.OnStart();} //start
         } 
         xmlhttp.onreadystatechange
    =xmlreadystatechange;
         xmlhttp.send(ajaxSettings.data);
         
    if (!ajaxSettings.async){ xmlreadystatechange();xmlhttp=null; }
       }
       
    catch(e){
        ajaxSettings.OnException(e.message); 
    //exception
       }
      }
      
    return this;
     }
     
    //
     // 拆分JSON对象并以特定符号连接组成字符串
     //
     this.SplitJson=function(jsonObj,splitSign){
     
         
    var jsonStr='',signLastIndex;
         
    for (jo in jsonObj) 
         {
       jsonStr 
    += (jo + "=" + jsonObj[jo] + splitSign) ;
         }
      signLastIndex
    =jsonStr.lastIndexOf(splitSign);
      
    if(signLastIndex!=-1){
       jsonStr
    =jsonStr.substring(0,signLastIndex);
      }
      
    return jsonStr;
     }
     
    //
     // JS图片缩略
     //
        this.DrawImage=function(ImgD,iwidth,iheight){
            
    var flag=false;
            
    var image=new Image();
            image.src
    =ImgD.src;
            
    if(image.width>0 && image.height>0)
            {
                flag
    =true;
                
    if(image.width/image.height>= iwidth/iheight)
                {
                    
    if(image.width>iwidth)
                    { 
                        ImgD.width
    =iwidth;
                        ImgD.height
    =(image.height*iwidth)/image.width;
                    }
                    
    else
                    {
                        ImgD.width
    =image.width; 
                        ImgD.height
    =image.height;
                    }
                }
                
    else
                {
                    
    if(image.height>iheight)
                    { 
                        ImgD.height
    =iheight;
                        ImgD.width
    =(image.width*iheight)/image.height; 
                    }
                    
    else
                    {
                        ImgD.width
    =image.width; 
                        ImgD.height
    =image.height;
                    }
                }
             }
        }
        
    //
     // 截取字符串 包含中文处理  
     //
        this.SubString=function(str, len, hasDot){  
            
    var newLength = 0;  
            
    var newStr = "";  
            
    var chineseRegex = /[^\x00-\xff]/g;  
            
    var singleChar = "";  
            
    var strLength = str.replace(chineseRegex,"**").length;  
            
    for(var i = 0;i < strLength;i++)  
            {  
                singleChar 
    = str.charAt(i).toString();  
                
    if(singleChar.match(chineseRegex) != null)  
                {  
                    newLength 
    += 2;  
                }      
                
    else  
                {  
                    newLength
    ++;  
                }  
                
    if(newLength > len)  
                {  
                    
    break;  
                }  
                newStr 
    += singleChar;  
            }  
            
    if(hasDot && strLength > len)  
            {  
                newStr 
    += "";  
            }  
            
    return newStr;  
        }
        
    //
     // 替换所有
     //
        this.ReplaceAll=function(Str,oldString,newString){
            
    return Str.replace(new RegExp(oldString,"gm"),newString); 
        },
        
    //
     // 获得URL参数,无效返回undfined
     //
        this.RequestQueryString=function(url){
       
    var qIndex=url.indexOf('?');
       
    var queryObj={};
       
    if(qIndex!=-1){
          
    var queryStr=url.substring(qIndex+1,url.length);
          
    if(queryStr.indexOf('&')!=-1){
             
    var arrQuery = new Array();
             arrQuery
    =queryStr.split('&');
             
    for(arrStr in arrQuery){
                 paramKey
    =arrQuery[arrStr].substring(0,arrQuery[arrStr].indexOf("=")).toLowerCase();
                 paramValue
    =arrQuery[arrStr].substring(arrQuery[arrStr].indexOf("=")+1,arrQuery[arrStr].length); 
                 queryObj[paramKey]
    =paramValue
             }
          }
          
    else{
             paramKey
    =queryStr.substring(0,queryStr.indexOf("=")).toLowerCase();
             paramValue
    =queryStr.substring(queryStr.indexOf("=")+1,queryStr.length); 
             queryObj[paramKey]
    =paramValue;
          }
       }
       
    return queryObj;
        }
    }
    window.$CC
    =new CCPry();
  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业02
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    学期总结
    C语言I博客作业08
  • 原文地址:https://www.cnblogs.com/top5/p/1592628.html
Copyright © 2011-2022 走看看