获取元素样式对象 页面滚出 页面可是大小 添加监听事件 获取事件参数浏览器中位置 的兼容

时间:2022-12-03 19:04:43
/**
* 获取浏览滚动出去的距离
* @returns {{scrollY: (Number|number), scrollX: (Number|number)}}
*/
function scroll(){
return{
scrollY:window.scrollY||document.body.scrollTop||document.documentElement.scrollTop||0,
scrollX:window.scrollX||document.body.scrollLeft||document.documentElement.scrollLeft||0
}

}



/**
* 获取在浏览器中的位置
* @param e
* @returns {{pageX: (*|Number), pageY: (*|Number)}}
*/
function getPage(e){
return{
pageX: e.pageX|| (e.clientX+scroll().scrollX),
pageY: e.pageY||(e.clientY+scroll().scrollY)
}

}
/**
* 事件参数
* @type {{addEventListener: Function}}
*/
var Eventtools={
/**
* 添加事件监听者
* @param element
* @param type
* @param listener
*/
addEventListener:function(element,type,listener){
if(element.addEventListener){
element.addEventListener(type,listener,false)
}else if(element.attachEvent){
element.attachEvent("on"+type,listener)
}else{
element["on"+type]=listener;
}
}
}
/样式对象兼容
var setStyle = {
toOpacity: function (a, b) {
a.style.opacity = b;
a.style.filter = "alpha(opacity=" + b * 100 + ")";
}
};
/**
* 获取元素样式对象
* @param element
* @param arrt
* @returns {*}
*/
function getStyle(element, arrt) {
if (window.getComputedStyle) {
return window.getComputedStyle(element, null)[arrt];
} else {
return element.currentStyle[arrt];
}

}