当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用javascript getComputedStyle获取和设置style的原理

Javascript
站长推荐的用js实现的多浏览器支持的图片轮换展示效果ie,firefox
用js实现的十进制的颜色值转换成十六进制的代码
DHTML form validation
js资料toString 方法
js资料prototype 属性
js实现的网站首页随机公告随机公告
一个效果写的HashTable代码
用js实现的一个Flash滚动轮换显示图片代码生成器
关于javascript函数的几个话题
极致之美——百行代码实现全新智能语言
htm调用JS代码
斑马线效果代码
从新浪弄下来的全屏广告代码 与使用说明
用js实现预览待上传的本地图片
用javascript自动显示最后更新时间
表单提交时自动复制内容到剪贴板的js代码
用roll.js实现的图片自动滚动+鼠标触动的特效
一段js小代码,计算距春节还有多少天
js中设计一段程序,让它能够打印自己的方法收集藏
自动生成文章摘要的代码[JavaScript 版本]

Javascript 中的 用javascript getComputedStyle获取和设置style的原理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 252 ::
收藏到网摘: n/a

这两天用了baidu 百度空间中的弹出窗口js,感觉不错,很强大,很好很简单的解决了好几个问题,界面友好度以及美化也好多了,以前都是硬邦邦window.open(); 有兴趣的朋友搜索"百度 popup"就好了,已经有人给出了注释,强大。
最有意思的是用javascript获取和设置style
DOM标准引入了覆盖样式表的概念,当我们用document.getElementById("id").style.backgroundColor 获取样式时 获取的只是id中style属性中设置的背景色,如果id中的style属性中没有设置background-color那么就会返回空,也就是说如果id用class属性引用了一个外部样式表,在这个外部样式表中设置的背景色,那么不好意思document.getElementById("id").style.backgroundColor 这种写法不好使,如果要获取外部样式表中的设置,需要用到window对象的getComputedStyle()方法,代码这样写window.getComputedStyle(id,null).backgroundColor
但是兼容问题又来了,这么写在firefox中好使,但在IE中不好使
两者兼容的方式写成
window.getComputedStyle?window.getComputedStyle(id,null).backgroundColor:id.currentStyle["backgroundColor"];
如果是获取背景色,这种方法在firefox和IE中的返回值还是不一样的,IE中是返回"#ffff99"样子的,而firefox中返回"rgb(238, 44, 34) "
值得注意的是:window.getComputedStyle(id,null)这种方式不能设置样式,只能获取,要设置还得写成类似这样id.style.background="#EE2C21";