本人自用的global.js库源码分享


Posted in Javascript onFebruary 28, 2015
var GLOBAL = {};
GLOBAL.namespace = function(str) {
  var arr = str.split("."), o = GLOBAL,i;
  for (i = (arr[0] = "GLOBAL") ? 1 : 0; i < arr.length; i++) {
    o[arr[i]] = o[arr[i]] || {};
    o = o[arr[i]];
  }
};
//Dom相关
GLOBAL.namespace("Dom");

GLOBAL.Dom.getNextNode = function (node) {
  node = typeof node == "string" ? document.getElementById(node) : node;
  var nextNode = node.nextSibling;
  if (!nextNode) {
    return null;
  }
  if (!document.all) {
    while (true) {
      if (nextNode.nodeType == 1) {
        break;

      } else {
        if (nextNode.nextSibling) {
          nextNode = nextNode.nextSibling;
        } else {
          break;
        }
      }
    }
    return nextNode;
  }
}

GLOBAL.Dom.setOpacity = function(node, level) {
  node = typeof node == "string" ? document.getElementById(node) : node;
  if (document.all) {
    node.style.filter = 'alpha(opacity=' + level + ')';
  } else {
    node.style.opacity = level / 100;
  }
};

GLOBAL.Dom.getElementsByClassName = function (str, root, tag) {
  if (root) {
    root = typeof root == "string" ? document.getElementById(root) : root;
  } else {
    root = document.body;
  }
  tag = tag || "*";
  var els = root.getElementsByTagName(tag), arr = [];
  for (var i = 0, n = els.length; i < n; i++) {
    for (var j = 0, k = els[i].className.split(" "), l = k.length; j < l; j++) {
      if (k[j] == str) {
        arr.push(els[i]);
        break;
      }
    }
  }
  return arr;
}
GLOBAL.namespace("Event");
GLOBAL.Event.stopPropagation = function(e) {
  e = window.event || e;
  if (document.all) {
    e.cancelBubble = true;
  } else {
    e.stopPropagation();
  }
};
GLOBAL.Event.getEventTarget = function(e) {
  e = window.event || e;
  return e.srcElement || e.target;
};

GLOBAL.Event.on = function(node, eventType, handler) {
  node = typeof node == "string" ? document.getElementById(node) : node;
  if (document.all) {
    node.attachEvent("on" + eventType, handler);
  } else {
    node.addEventListener(eventType, handler, false);
  }
};

//Lang相关
GLOBAL.namespace("Lang");
GLOBAL.Lang.trim = function(ostr) {
  return ostr.replace(/^\s+|\s+$/g, "");
};

GLOBAL.Lang.isNumber = function(s) {
  return !isNaN(s);
};

function isString(s) {
  return typeof s === "string";
}



function isBoolean(s) {
  return typeof s === "boolean";
}

function isFunction(s) {
  return typeof s === "function";
}

function isNull(s) {
  return s === null;
}

function isUndefined(s) {
  return typeof s === "undefined";
}

function isEmpty(s) {
  return /^\s*$/.test(s);
}

function isArray(s) {
  return s instanceof Array;
}

GLOBAL.Dom.get = function (node) {
  node = typeof node === "string" ? document.getElementById(node) : node;
  return node;
}

function $(node) {
  node = typeof node == "string" ? document.getElementById(node) : node;
  return node;
}


GLOBAL.Lang.extend = function(subClass, superClass) {
  var F = function() {
  };
  F.prototype = superClass.prototype;
  subClass.prototype = new F();
  subClass.prototype.constructor = subClass;
  subClass.superClass = subClass.prototype;
  if (superClass.prototype.constructor == Object.prototype.constructor) {
    superClass.prototype.constructor = superClass;
  }
};

GLOBAL.namespace("Cookie");
GLOBAL.Cookie = {
  read: function (name) {
    var cookieStr = ";" + document.cookie + ";";
    var index = cookieStr.indexOf(";" + name + "=");
    if (index != -1) {
      var s = cookieStr.substring(index + name.length + 3, cookieStr.length);
      return unescape(s.substring(0, s.indexOf(";")));
    } else {
      return null;
    }
  },
  set: function (name, value, expires) {
    var expDays = expires * 24 * 60 * 60 * 1000;
    var expDate = new Date();
    expDate.setTime(expDate.getTime() + expDays);
    var expString = expires ? ";expires=" + expDate.toGMTString() : "";
    var pathString = ";path=/";
    document.cookie = name + "=" + escape(value) + expString + pathString;
  },
  del: function (name, value, expires) {
    var exp = new Date(new Date().getTime() - 1);
    var s = this.read(name);
    if (s != null) {
      document.cookie = name + "=" + s + ";expires=" + exp.toGMTString() + ";path=/";
    }
  }
};
Javascript 相关文章推荐
js加解密 脚本解密
Feb 22 Javascript
javascript 对象定义方法 简单易学
Mar 22 Javascript
百度 popup.js 完美修正版非常的不错 脚本之家推荐
Apr 17 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
Dec 26 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
Apr 09 Javascript
vue子父组件通信的实现代码
Jul 09 Javascript
详解node+express+ejs+bootstrap构建项目
Sep 27 Javascript
解决linux下node.js全局模块找不到的问题
May 15 Javascript
JavaScript 高性能数组去重的方法
Sep 20 Javascript
微信小程序 导入图标实现过程详解
Oct 11 Javascript
async/await让异步操作同步执行的方法详解
Nov 01 Javascript
js实现视图和数据双向绑定的方法分析
Feb 05 Javascript
JS限制文本框只能输入数字和字母方法
Feb 28 #Javascript
javascript计时器详解
Feb 28 #Javascript
Lab.js初次使用笔记
Feb 28 #Javascript
js实现鼠标感应图片展示的方法
Feb 27 #Javascript
JQuery基础语法小结
Feb 27 #Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
Feb 27 #Javascript
分析了一下JQuery中的extend方法实现原理
Feb 27 #Javascript
You might like
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
浅析javascript的return语句
2015/12/15 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
把大数据数字口语化(python与js)两种实现
2013/02/21 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
python实现猜单词小游戏
2020/05/22 Python
老生常谈python中的重载
2018/11/11 Python
浅析python参数的知识点
2018/12/10 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
建筑工程实习自我鉴定
2013/09/19 职场文书
成品仓管员岗位职责
2013/12/11 职场文书
搞笑征婚广告词
2014/03/17 职场文书
报关报检委托书
2014/04/08 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
学生会个人总结范文
2015/02/15 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
Oracle表空间与权限的深入讲解
2021/11/17 Oracle