日期:2014-05-17  浏览次数:20641 次

javascript学习笔记(2) js调用外部css样式表的style值, 获得一个不能预知高度的DIV的高度

完善上一篇日志中demo的两个不足。?

?

  1. js只能修改html内部的css样式代码;
  2. 隐藏div的高度固定,如果隐藏区域文字变动时,布局变差。

?

1. js调用外部css样式表的style值

css样式表有三种写法:

?

  1. 内嵌样式(inline Style) :是写在Tag里面的,内嵌样式只对所有的Tag有效。
  2. 内部样式(internal Style Sheet):是写在HTML的 里面的,内部样式只对所在的网页有效。?
  3. 外部样式表(External Style Sheet):如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。?

? ? ? ? 在JavaScript中,通过document.getElementById(id).style.XXX就可以获取到XXX的值,但意外的是,这样做只能取到通过内嵌方式设置的样式值,即style属性里面设置的值。?

? ? ? ? 解决方案:引入currentStyle,runtimeStyle,getComputedStyle style 标准的样式:

?

?

/*Get css property value from extenal style sheet for IE browser */
if(hid.currentStyle) {
      display = hid.currentStyle['display'];
}
/*Get css property value from extenal style sheet for FireFox, Chrome browser */
else if(window.getComputedStyle) {  
      display = window.getComputedStyle(hid, null)['display'];
}

参考链接:http://apps.hi.baidu.com/share/detail/22727000

?

?

获得一个不能预知高度的DIV的高度

以下完全摘自:?获得一个不能预知高度的DIV的高度

?

  1. 通过元素的clientHeight属性能够得到元素的高度,如:??
  2. var?height?=?element.clientHeight;??
  3. ??
  4. 这种做法的局限:??
  5. 1.?如果元素的display属性设置为none,?那么得到的结果为0??