码迷,mamicode.com
首页 > 其他好文 > 详细

一些函数封装1

时间:2015-06-29 23:50:31      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

//封装document.getElementById
function $() {
var elements = new Array();

for (var i = arguments.length - 1; i >= 0; i--) {
var element = arguments[i];

if (typeof element == "string") {
element = document.getElementById(element);
}

if (arguments.length == 1) {
return element;
} else {
elements.push(element);
}

return elements;
};
};

//封装事件处理(解决兼容性)
function addEvent(node, type, listener) {
if (!(node = $(node))) return false;
if (node.addEventListener) {
//W3C
node.addEventListener(type, listener, false);
return true;
} else if (node.attachEvent) {
node[‘e‘ + type + listener] = listener;
node[type + listener] = function() {
node[‘e‘ + type + listener](window.event);
};
node.attachEvent(‘on‘ + type, node[type + listener]);
return true;
}

return false;

};

//移出事件
function removeEvent(node,type,listener){
if (!(node = $(node))) return false;
if(node.removeEventListener){
node.removeEventListener(type,listener,false);
return true;
}else if(node.removeEvent){
node.detachEvent(‘on‘+type,node[type+listener]);
node[type+listener] = null;
return true;
}
return false;
};
//获取事件对象
function getEventObject(e){
return e || window.event;

}
//阻止事件冒泡
function stopPropagation(eventObject){
var eventObject = eventObject || getEventObject();
if(eventObject.stopPropagation){
eventObject.stopPropagation();
}else{
eventObject.cancelBubble = true;
}
};
//阻止浏览器默认 事件
function stopDefault(eventObject){
var eventObject = eventObject || getEventObject();
if(eventObject.preventDefault){
eventObject.preventDefault();
}else{
eventObject.returnValue = false;
}
};
//获取鼠标在整个文档中的坐标
function getPointerPositionInDocument(eventObject) {
eventObject = eventObject || getEventObject(eventObject);
var x = eventObject.pageX || (eventObject.clientX +
(document.documentElement.scrollLeft || document.body.scrollLeft));
var y = eventObject.pageY || (eventObject.clientY +
(document.documentElement.scrollTop || document.body.scrollTop));
return {
‘x‘: x,
‘y‘: y
};
};
//获取窗口宽度
function getWindowSize(){
var width = height = 0;
if(this.innerWidth){
width = this.innerWidth;
height = this.innerHeight;
}else if(document.documentElement && document.documentElement.clientHeight){
width = document.documentElement.clientWidth;
height = document.documentElement.clientHeight;
}else if(document.body && document.body.clientHeight){
width = document.body.clientWidth;
height = document.body.clientHeight;
}

return {‘width‘:width,‘height‘:height};
};
//获取给定标签的位置和宽高
function getDimensions(element){
if (!(element = $(element))) return false;

return {
‘left‘:element.offsetLeft,
‘top‘:element.offsetTop,
‘width‘:element.offsetWidth,
‘height‘:element.offsetHeight
};
}
//设置css样式
function setStyle(element, styles) {
if (!(element = $(element))) return false;
for (property in styles) {
if (!styles.hasOwnProperty(property)) continue;

if (element.style.setProperty) {
element.style.setProperty(
uncamelize(property, ‘-‘), styles[property], null);
} else {
element.style[camelize(property)] = styles[property];
}
}
return true;
};
//去掉横杠,使用驼峰命名法
function camelize(s) {
return s.replace(/-(\w)/g, function(strMatch, p1) {
return p1.toUpperCase();
});
};
//将驼峰命名法转换成横杠命名
function uncamelize(s, sep) {
sep = sep || ‘-‘;
return s.replace(/([a-z])([A-Z])/g, function(strMatch, p1, p2) {
return p1 + sep + p2.toLowerCase();
});
};


function getEvent(arg){
var eve;
if(window.event)
eve = window.event;
else
eve = arg[0];
return eve;
}

一些函数封装1

标签:

原文地址:http://www.cnblogs.com/hexi1/p/4608971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!