Tool.js

常用JS工具集合,持续更新 ...

//事件处理(2012.2.15 / 2012/3/27)
var EventUtil = {
addHandler:function(ele,type,handler){ //绑定事件
var list = {a:["addEventListener","attachEvent"],r:["removeEventListener","datachEvent"]};
var name = arguments[3]===true ? list["r"]:list["a"];
if(ele[name[0]]){
ele[name[0]](type,handler,false)
}else if(ele.attachEvent){

ele[name[1]]("on"+type,handler);
}else{

var handler = arguments[3]===true ? handler : null;
ele["on"+type] = handler;
}
},
removeHandler:function(ele,type,handler){//删除绑定
this.addHandler(ele,type,handler,true);
},
getEvent:function(event){ //获取事件对象
return event ? event:window.event;
},
getTarget:function(event){ //获取正在处理发生事件的对象
return event.target || event.srcElement;
},
stopPropagation:function(event){ //阻止冒泡
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble = true;
}
},
preventDefalut:function(event){ //阻止默认行为
if(event.preventDefalut){
event.preventDefault();
}else{
event.returnValue = false;
}
},
getRelatedTarget:function(event){ //获取当前目标(mouseover Or mouseout)的时候有效
if(event.getRelatedTarget){
return event.getRelatedTarget;
}else if(event.toElement){
return event.toElement;
}else if(event.fromElement){
return event.fromElement;
}else{
return null;
}
},
addLoad:function(fun){//window.onload处理
var nowLoad = window.onload;
if(typeof nowLoad!="function"){
window.onload = fun;
}else{
window.onload = function(){
nowLoad();
fun();
};
};
}
};

//获取对象
function g(id){
if(!id)return;
if(typeof id == "string"){
return document.getElementById(id);
};
return id;
};

//创建容器
function createEle(ele,css,father){
ele = ele || "div";
var obj = document.createElement(ele);
if(css){
setStyle(ele,css);
};
father = father || document.body;
father.appendChild(obj);
};

//设置样式
function setStyle(ele,css){
if(!ele)return;
var x,y,z,m;
z = ele;
x = z.style;

for(var s in css){
m = css[s];
y = m + "px";
switch(s){
case "w" : x.width = y;break;
case "h" : x.height = y;break;
case "l" : x.left = y;break;
case "t" : x.top = y;break;
case "z" : x.zIndex = m;break;
case "a" : x.position = m;break;
case "d" : x.display = m;break;
case "i" : z.innerHTML = m;break;
case "bg": x.background = x;break;
case "b" : x.border = x ;break;
case "d" : x.display = x ;break;
case "m" : x.margin = x;break;
case "p" : x.padding = x;break;
default : x[s] = m; break ;
};

};
};

//获取窗口高宽
function getW(){
var client_h,client_w,scrollTop;
client_h = document.documentElement.clientHeight || document.body.clientHeight;
client_w = document.documentElement.clientWidth || document.body.clientWidth;
scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
return o = {w:client_w,h:client_h,s:scrollTop};
}

//获取CSS
function getStyles(ele) {
var style;
if (document.defaultView && document.defaultView.getComputedStyle)
style = document.defaultView.getComputedStyle(ele, null);
else
style = ele.currentStyle;
return style;
};

//随即数
function getRandom(upper,lower){
return Math.floor(Math.random() * (upper - lower + 1) + lower);
};

//getElePosition
function getElePosition(ele){
if(!ele)return;
var left = 0,top = 0;
if("getBoundingClientRect" in document.documentElement){
var box = ele.getBoundingClientRect(),
doc = ele.ownerDocument,
body = doc.body,
docElem = doc.documentElement,
clientTop = doc.clientTop || body.clientTop || 0,
clientLeft = doc.clientLeft || body.clientLeft || 0 ,
left = box.left + (self.pageXOffset || docElem && docElem.scrollLeft || body.scrollTop) - clientLeft,
top = box.top + (self.pageYOffset || docElem && docElem.scrollTop || body.scrollTop) - clientTop;
}else{
do{
top+=ele.offsetTop,
left+=ele.offsetLeft,
ele = elel.offsetParent;
}while(ele)
};
return {left:left,top:top}
};

//getId / getClass / getEle / addClass / removeClass
var tool={
$:function(id){
return typeof id==="object"?id:document.getElementById(id)
},
$$:function(tagName,oParent){
return(oParent||document).getElementsByTagName(tagName)
},
$$$:function(className,tagName,elem){
var i=0,aClass=[],
reClass=new RegExp("(^|\\s)"+className+"(\\s|$)"),
aElement=tool.$$(tagName||"*",elem||document);
for(i=0;i<aElement.length;i++)
reClass.test(aElement[i].className)&&aClass.push(aElement[i]);
return aClass
},
addClass:function(elem,value){
!elem.className ? elem.className = value : elem.className += " " + value
},
removeClass:function(elem,className){
var reg=new RegExp('(\\s|^)'+className+'(\\s|$)');
var ematch=elem.className.match(reg);
if(ematch)elem.className=elem.className.replace(reg,' ')
}
}

 

(function () { //brwoser
      browser = navigator.userAgent.toLowerCase();
      isAndroid = find(browser, "android");
      isIphone = find(browser, "iphone");
      isIpad = find(browser, "ipad");
      isTouch = isIphone || isIpad;
    })();    
    
    function find(a, b) {
      return a.indexOf(b) + 1;
    };
    
    function getMS() {
      var z = new Date();
      return (z.getMinutes() * 60 + z.getSeconds()) * 1000 + z.getMilliseconds()
    };

转载于:https://www.cnblogs.com/webstarting/archive/2012/02/14/2351034.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值