javascript 学习分析及总结

造一个轮子---获取计算后样式

一、思路分析

1.主要考虑到兼容浏览器的问题,即高级浏览器和IE6、IE7、IE8
高级浏览器写法:window.getComputedStyle(oDiv).getPropertyValue("width");
getComputedStyle(oDiv).getPropertyValue("width");
getComputedStyle(oDiv).getPropertyValue("padding-left");
getComputedStyle(oDiv)["padding-left"];

I E6、IE7、IE8写法: oDiv.currentStyle.width;
oDiv.currentStyle.paddingTop;    
oDiv.currentStyle["paddingTop"];    
2.能力检测:将用户输入的property进行检测,针对高级浏览器,主要看是不是驼峰,如果是,转换为连字符写法。针对IE6\IE7\IE8 ,因为只认识驼峰,所以要防止输入“-” ,即改为驼峰式。

二、代码部分

//封装一个函数 获取计算后样式
function fecthComputedStyle(obj,property) {
if (window.getComputedStyle) {
property = property.replace(/([A-Z])/g,function(match,$1){
return "-" + $1.toLowerCase();
});
return window.getComputedStyle(obj)[property];
}else{
property = property.replace(/\-([a-z])/g,function(match,$1){
return $1.toUpperCase();
});

return obj.currentStyle[property];
}
}
var oDiv = document.getElementById("box");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值