- 浏览: 93445 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
yeyu712:
感谢分享,脑塞了很久
document.getElementById("searchForm").submit is not a function -
liuweihug:
jquery瀑布流插件Wookmark完整使用demo - h ...
jQuery实现的瀑布流效果, 向下滚动即时加载内容
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";
首先我们先说一下样式表属性
1. 内联样式即元素style属性里面设置的,级别最高
2. 页面样式表定义即页面<style></style>里面定义的,级别次之
3.外部链接样式表文件
JavaScript获取和设置文档元素的css属性:
1.获取元素Style属性里面设置的样式属性,
document.getElementById(id).style.height;
有,则返回属性值;没有则返回空
IE和火狐皆然,只是有的属性值返回可能不一样,比如像颜色火狐返回rgb,而IE是返回十六进制数字
测试代码:
<script type="text/javascript"> function getCss(){ alert(document.getElementById("aaa").style.height); alert(document.getElementById("aaa").style.backgroundColor); alert(document.getElementById("aaa").style.width); document.getElementById("aaa").style.backgroundColor = ‘#dbdbdb'; //alert(myWidth); } </script>
<div id="aaa" class="bbb" style="height:20px; background-color:#FF0000;"> asdfasdfas </div> <input type="button" value="点击" onclick="getCss();" />
2.有时候我们的样式可能有多个地方设置了,我们也不知道它到底是外部样式表属性起作品,还是在内联样式里面起作用,所以我们就需要获取当前页面渲染的属性值。这个在IE和FF里面有些不同:
示例代码片断:
IE:document.getElementById('aaa').currentStyle.height
FF标准:document.defaultView.getComputedStyle(aaa,null).getPropertyValue('height')
这两个属性是只读的,若要改变元素样式还得使用style,它直接写在元素style属性里面级别最高起作用
3.写一个兼容IE和FF的函数来调用
复制代码 代码如下:
function getRealStyle(id,styleName) { var element = document.getElementById(id); var realStyle = null; if (element.currentStyle) realStyle = element.currentStyle[styleName]; else if (window.getComputedStyle) realStyle = window.getComputedStyle(element,null)[styleName]; return realStyle; }
调用:cur_height = parseInt(getRealStyle(CON_ID,'height'));
P.S:返回值通常会带有单位,需要使用parseInt函数提取数字,以方便后面的操作
发表评论
-
外部javascript引用非.js文件
2013-10-30 21:18 666按照惯例,外部Javascript文件带有.js扩展名。 但 ... -
js中cookie的使用详细分析
2013-01-08 10:30 191JavaScript中的另一个机制 ... -
一个javascript获取顶级域名的算法
2013-01-08 10:28 271/** * Router - 路由管理 * By W ... -
关于document.compatMode的一些介绍
2012-12-03 22:59 1592对于document.compatMode ,很多朋友可能跟 ... -
网页 HTML table 导出成 excel
2012-10-25 10:34 611需要在 HTML 的声明里加上 excel 的命名空间 然后 ... -
JSON数据格式基本讲解(转)
2012-10-19 10:07 479在异步应用程序中发送和接收信息时,可以选择以纯文本和 XM ... -
Lazy Load(1.7.0)中文文档 -- 延迟加载图片的jQuery插件
2012-10-19 09:46 1016原文的链接在:http://www.appelsiini.ne ... -
jquery实现的年月日三级联动
2012-09-27 14:29 4109<html xmlns="http://www ... -
一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:
2012-09-26 13:45 29751、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线 ... -
js去掉字符串前后空格的五种方法
2012-09-25 13:58 1622第一种:循环检查替换 //供使用者调用 funct ... -
Js获取当前页面URL的一些属性
2012-09-07 15:40 209设置或获取对象指定的文件名或路径:window.locatio ... -
js数组 sort方法的分析
2012-09-03 23:45 212原帖地址:http://blog.csdn.net/pre ... -
忽略IE6/7的jquery返回到顶页
2012-08-11 15:13 238<a href="#" id ... -
Lazy Load, 延迟加载图片的 jQuery 插件
2012-08-08 13:32 832Lazy Load 是一个用 JavaScript 编 ... -
jQuery JSONP 跨域实践(php)
2012-08-06 10:04 3669jquery jsonp php实例 远程服务器上的php文 ... -
带参数的JS脚本文件
2012-08-01 17:05 1031假如请求:main.js?path=root&tm=1 ... -
如果浏览器禁用javascript应该怎么办?
2012-08-01 15:20 207使用<noscript>提示: <nosc ... -
jQuery实现的瀑布流效果, 向下滚动即时加载内容
2012-08-01 12:38 20500下拉滚动条或鼠标滚 ... -
js压缩工具JSMin的用法
2012-07-30 13:43 323http://www.2cto.com/uploadfile/ ... -
谷歌 offsetWidth获取值失常和scrollTop为0
2012-07-05 11:29 156今天在做一个项目中碰到了一个很奇怪的问题就是通过offsetW ...
相关推荐
2. **处理动画和过渡**:在实现JavaScript驱动的动画时,可以通过`getComputedStyle`获取当前时刻的元素位置、大小等属性。 3. **浏览器兼容性处理**:在处理CSS3的新特性时,可以使用`getComputedStyle`来检测...
例如,`element.style.property`可直接修改元素的样式,或者使用`getComputedStyle`获取元素的计算样式。 6. **XHTML和HTML5**:虽然JavaScript主要处理逻辑,但它与HTML(尤其是HTML5)的结合紧密。理解XHTML的...
JavaScript可以通过`getComputedStyle`获取元素的实时样式,或者通过`style`对象直接修改CSS属性。这使得JavaScript能动态地改变元素的样式,实现各种视觉效果。例如,渐变动画、轮播图、悬浮按钮等特效都离不开对...
当使用`document.body.style.webkitTransform`时,可以获取到通过`style`属性设置的原始值,因为这是元素自身的属性。 然而,如果通过CSS文件设置`transform`,浏览器会将其转换为一个矩阵形式,这是因为矩阵运算...
- 使用`getComputedStyle`或`style`对象可以获取和设置元素的实时样式。 3. **动画原理** - 常用的动画实现方式包括:`requestAnimationFrame`、`setTimeout`和`setInterval`。 - `requestAnimationFrame`是...
例如,可以使用`element.style.property = value`设置样式,或者使用`getComputedStyle`获取元素的计算样式。CSS3引入的许多动画属性,如`transition`和`animation`,也可以通过JavaScript进行控制。 五、定时器和...
7. **CSS操作**:JavaScript可以用来更改元素的样式,如`element.style.property`用于设置内联样式,或者使用`getComputedStyle`获取元素的实际样式。 8. **动画效果**:通过定时器(如`setTimeout`和`setInterval`...
JavaScript获取元素样式的原理和限制 在原生JavaScript中,获取元素样式与设置元素样式是完全不同的操作。获取样式意味着我们只能获取到当前元素的样式信息,并不能直接影响到元素的样式表现。特别需要注意的是,...
1. 直接获取和设置元素的内联样式,通过使用element.style.propertyName的方式来访问和修改样式。这种方式直接作用于元素的style属性,因此具有较高的优先级。例如,要设置一个元素的背景颜色,可以使用document....
通过JavaScript,我们可以动态地修改CSS类,或者使用`getComputedStyle()`方法获取元素的计算样式,以实现动态的视觉变化。 常见的JavaScript特效包括但不限于: 1. 图片轮播:通过改变图片的显示顺序或使用CSS...
例如,使用`style`对象直接操作元素样式,或者通过`getComputedStyle`获取元素的计算样式。 4. **定时器与动画**:`setTimeout`和`setInterval`函数用于设置延迟执行或周期性执行的代码,常用于创建动画。例如,...
3. **CSS操作**:JavaScript可以直接修改元素的CSS样式,如`style.backgroundColor`改变背景色,`style.fontSize`调整字体大小,或者使用`getComputedStyle()`获取元素的实际计算样式。 4. **动画效果**:通过...
例如,使用`style`属性直接修改元素样式,或者通过`getComputedStyle`获取元素的实时样式。 4. **事件处理**:JavaScript特效通常基于用户交互,如点击、滚动、悬停等事件。学习这些特效代码能帮助理解如何使用`...
通过`getComputedStyle`获取元素的实时样式,使用`setInterval`或`requestAnimationFrame`创建平滑的动画。`classList`对象允许方便地添加、移除和切换CSS类。 4. **动画原理**:了解如何使用JavaScript创建各种...
总结来说,这篇文章揭示了在IE和Firefox下获取和设置样式值的不同方法,以及处理像`float`这样的特殊属性的方法。理解这些差异对于编写兼容多种浏览器的JavaScript代码至关重要。在实际开发中,通常会使用库如jQuery...
例如,`document.getElementById()`、`querySelector()`和`querySelectorAll()`等方法用于获取元素,而`innerHTML`、`style`属性则用于修改元素内容和样式。 3. **CSS操作**:JavaScript可以直接操作CSS样式,改变...
19. **CSS与JavaScript交互**:通过`getComputedStyle()`, `style.property`等方法读取和修改元素的样式。 20. **性能优化**:了解`requestAnimationFrame()`在动画中的应用,以及如何通过`setInterval()`和`...
本文将深入探讨如何使用 JavaScript 兼容性地获取CSS样式,无论是在 Internet Explorer (IE) 还是非 IE 浏览器(如 Google Chrome 和 Firefox)。 首先,我们需要了解CSS样式的三种基本类型: 1. 行内样式:直接在...