-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
惰性思想:
能够执行一次就搞定的绝对不会执行多次。
例:
var utils = (function () {
var flag = "getComputedStyle" in window;
//兼容的话是标准浏览器,但是如果flag=false说明当前的浏览器的IE6~8
function getCss(attr) {
var val = null,reg = null;
if (flag) {
val = window.getComputedStyle(this, null)[attr];
} else{//IE6~8
//如果传递进来的结果是opacity,说明我想获取到的是透明度,但是在IE6~8下获取透明度需要使用filter
if (attr === "opacity") {
val = this.currentStyle["filter"];
//"alpha(opacity = 10)" 把获取到的结果进行剖析,获取里面的数字,让数字乘以100才和标准的浏览器保持一致
reg = /^alpha\(opacity=(\d+(?:\.\d+)?)\)$/;
val = reg.test(val) ? reg.exec(val)[1]/100 : 1;
}else{
val = curEle.currentStyle[attr];
}
}
reg = /^(-?\d+(\.\d+)?)(px|pt|rem|em)?$/i;
return reg.test(val) ? parseFloat(val) : val;
}
//把外界需要使用的方法暴露给utils
return {
getCss: getCss
};
}) ();
utils.getCss();
utils.getCss();
utils.getCss();
Metadata
Metadata
Assignees
Labels
No labels