【JQuery】JQuery简单类库

来源:互联网 发布:crm软件特点 编辑:程序博客网 时间:2024/05/08 09:49

JS简单类库

var LF_Control = LF_Control || {      domain : "http://HOST"};LF_Control.include = {      css : function(file, func) {             var h = document.getElementsByTagName( 'head')[0];             var link = document.createElement( 'link');            link.rel = 'stylesheet';            link.type = 'text/css';            link.href = file;            h.appendChild(link);             if (!jQuery.browser.msie) {                   // 非ie 浏览器css加在完成后document.styleSheets.length数量会增加1                   var css_count = document.styleSheets.length;                   var ld = setInterval( function() {                         if (document.styleSheets.length > css_count) {                               typeof (func) == 'function' && func();                              clearInterval(ld);                        }                  })            } else {                  link.onreadystatechange = function() {                         if ( 'loaded' == link.readyState                                    || 'complete' == link.readyState) {                               typeof (func) == 'function' && func();                        }                  }            }      },      js : function(file, func) {             var h = document.getElementsByTagName( 'head')[0];             var link = document.createElement( 'script');            link.language = 'javascript';            link.type = 'text/javascript';             if (document.all) {                  link.onreadystatechange = function() {                         if ( 'complete' == link.readyState                                    || 'loaded' == link.readyState) {                               typeof (func) == 'function' && func();                        }                  }            } else {                  link.onload = function() {                         typeof (func) == 'function' && func();                  }            }            link.src = file;            h.appendChild(link);      }};LF_Control.load_jquery = {      jquery_file : LF_Control.js_domain + 'js/jquery-1.6.4.min.js',      load : function(func, file) {             var notHave = false;             if ( 'undefined' == typeof jQuery) {                  notHave = true;            } else if (jQuery.fn.jquery.substr(0, 1) < 1                        || jQuery.fn.jquery.substr(2, 1) < 4) {                  notHave = true;            }             if (!file) {                  file = this.jquery_file;            }             if (notHave) {                  LF_Control.include.js(file, func);            } else {                   typeof (func) == 'function' && func();            }      }};LF_Control.timer = {      timerHandle : null,      run : function(func, time) {             if ( 'undefined' == time) {                  time = 1000;            }             this.timerHandle = setInterval( function() {                   typeof (func) == 'function' && func();            }, time);      }};LF_Control.js = {      compare : function(fobj, sobj) {             if (fobj == sobj) {                   return true;            }             var flength = 0;             var slength = 0;             for ( var ele in fobj) {                  flength++;            }             for ( var ele in sobj) {                  slength++;            }             if (flength != slength) {                   return false;            }             if (fobj.constructor == sobj.constructor) {                   for ( var ele in fobj) {                         if ( 'object' == typeof fobj[ele]) {                               if (! this.compare(fobj[ele], sobj[ele])) {                                     return false;                              }                        } else if ( 'function' == typeof fobj[ele]) {                               if (fobj[ele].toString() != sobj[ele].toString()) {                                     return false;                              }                        } else if (fobj[ele] != sobj[ele]) {                               return false;                        }                  }                   return true;            } else {                   return false;            }      },// 比较两个js对象是否相等      randArray : function(array) {             return array[Math.floor(Math.random() * array.length)];      }// 随机获取数组值};/** * Cookie */LF_Control.cookie = {      get : function(name, type) {             var cookies = document.cookie.split( '; ');             var gets = [];             var temp;             if ( '' == type || 'undefined' == typeof type) {                   for ( var i = 0; i < cookies.length; i++) {                        temp = cookies[i].split( '=');                        gets[temp[0]] = unescape(temp[1]);                  }                   if (name) {                         return gets[name];                  } else {                         return '';                  }            } else {                   var tempcookie = '';                   for (i = 0; i < cookies.length; i++) {                         if (cookies[i].indexOf(type + '=') > -1) {                              tempcookie = cookies[i].replace(type + '=', '').split( '&');                               for ( var x = 0; x < tempcookie.length; x++) {                                    temp = tempcookie[x].split( '=');                                    gets[temp[0]] = unescape(temp[1]);                              }                        }                  }                   if (name) {                         return gets[name];                  } else {                         return '';                  }            }      },      set : function(name, value, expires, path, domain, secure) {             if (!name || !value) {                   return false;            }             if ( '' == name || '' == value) {                   return false;            }             var today = new Date();             if (expires) {                   if ( /^[0-9]+$/.test(expires)) {                        expires = new Date(today.getTime() + expires * 1000)                                    .toGMTString();                  } else if (! /^wed, d{2} w{3} d{4} d{2}:d{2}:d{2} GMT$/                              .test(expires)) {                        expires = undefined;                  }            } else {                  expires = new Date(today.getTime() + 3600000 * 24 * 365)                              .toGMTString();            }             var cookies = name + '=' + escape(value) + ';'                        + ((expires) ? ' expires=' + expires + ';' : '')                        + ((path) ? 'path=' + path + ';' : '')                        + ((domain) ? 'domain=' + domain + ';' : '')                        + ((secure && secure != 0) ? 'secure' : '');             if (cookies.length < 4096) {                  document.cookie = cookies;                   return true;            } else {                   return false;            }      },      del : function(name, path, domain) {             if (!name || ! this.Get(name)) {                   return false;            }            document.cookie = name + '=;' + ((path) ? 'path=' + path + ';' : '')                        + ((domain) ? 'domain=' + domain + ';' : '')                        + 'expires=Thu, 01-Jan-1970 00:00:01 GMT;';             return true;      }};/** * String */LF_Control.string = {      trim : function(str) {             return str.replace( /(^\s*)|(\s*$)/g, "");      },      enUnicode : function(str) {             return escape(str).toLocaleLowerCase().replace( /%u/gi, '\\u');      },      deUnicode : function(str) {             return unescape(str.replace( /\\u/gi, '%u'));      },      /**       * 补全字符串       *       * @param <string>       *            str 需要补全的字符       * @param <int>       *            len 补全至多少位       * @param <string>       *            type 在前补全/后补全       * @param <string>       *            pChar 自定义补全的字符       */      parseStandard : function(str, len, type, pChar) {             var c = len - str.length;             var isAfter = false;             var char = '0';             if (pChar) {                  char = pChar;            }             if (type && 'after' == type) {                  isAfter = true;            }             if (c * 1 > 0) {                   for ( var i = 0; i < c; i++) {                         if (isAfter) {                              str = str + char;                        } else {                              str = char + str;                        }                  }            }             return str;      }};/** * Date */LF_Control.date = {      format : function(t, fmt) {             if (!t) {                  t = new Date();            }             if (!fmt) {                  fmt = 'yyyy-MM-dd hh:mm:ss'            }             var o = {                   'M+' : t.getMonth() + 1, // 月份                   'd+' : t.getDate(), // 日                   'h+' : t.getHours(), // 小时                   'm+' : t.getMinutes(), // 分                   's+' : t.getSeconds(), // 秒                   'q+' : Math.floor((t.getMonth() + 3) / 3), // 季度                   'S' : t.getMilliseconds()             // 毫秒            }             if ( /(y+)/.test(fmt)) {                  fmt = fmt.replace(RegExp.$1, (t.getFullYear() + "")                              .substr(4 - RegExp.$1.length));            }             for ( var k in o) {                   if ( new RegExp( '(' + k + ')').test(fmt)) {                        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])                                    : (( "00" + o[k]).substr(( "" + o[k]).length)));                  }            }             return fmt;      },      /**       * 日期转时间戳       *       * @param <string>       *            <object> obj 时间对象或者时间格式字符串       */      toUnix : function(obj) {             var type = typeof (obj);             var time = 0;             var date;             if ( 'object' == type) {                   date = obj;            } else if ( 'string' == type) {                  obj = obj.replace( /-/g, '/');                   date = new Date(obj);            } else {                   date = new Date();            }            time = date.getTime();             var time_str = new String(time);             if (time_str == 10) {                  time = time * 1000;            }             return parseInt(time);      },      /**       * 时间戳转换日期       *       * @param <int>       *            unixTime 待时间戳(秒)       * @param <string>       *            fmt 返回时间格式       */      unixToDate : function(unixTime, fmt) {             if (parseInt(unixTime).toString().length == 10) {                  unixTime = unixTime * 1000            }             var time = new Date(unixTime);             return this.format(time, fmt);      }}/** * JSON */LF_Control.json = {      toString : function(object) {             var arr = [];             var fmt = function(obj) {                   if ( 'object' == typeof obj && obj != null) {                         return this.toString(obj);                  }                   return /^(string|number)$/.test( typeof obj) ? '\'' + obj + '\''                              : obj;            }             for ( var i in object) {                  arr.push( '\'' + i + '\':' + fmt(object[i]));            }             return '{' + arr.join( ',') + '}';      }},/** * LOG */LF_Control.log = {      info : function(info, func) {      },      error : function(error, func) {      }}
0 0
原创粉丝点击