style.top 得不到top的值

来源:4-1 细节优化及扩展(一)

外星人6

2015-12-17 15:11

this.getElementsByTagName("div")[0].style.top;

这样得不到top的值,怎么办?

写回答 关注

4回答

  • 文小丽
    2016-12-01 16:30:27

    var h=this.getElementsByTagName('div')[0].scrollHeight;
    用这个 可以获取div的高度 top只能获取内联元素的高度

  • echo_kinchao
    2015-12-17 15:38:40

    您是要获取 标签的 还是他已经写好的样式?

  • Joy_Sang
    2015-12-17 15:38:34

    var li = document.getElementById("li").offsetTop;



    慕男婶

    offsetTop == top ?

    2015-12-17 15:55:14

    共 1 条回复 >

  • 慕男婶
    2015-12-17 15:37:35

    style.top只能取嵌入式的样式,如果top不是嵌入式样式,显然是取不到的。

    可以用下面的函数来取:

    function getStyle(dom,style){
         if(dom.currentStyle){
             return dom.currentStyle[style];
         }else{
             return getComputedStyle(dom,null)[style];
         }
    }
    
    // 第一个参数,是你要取样式的那个元素。比如要取一个 id为d的div的top
    var div = document.getElementById('d');
    getStyle(div,"top");

商城分类导航效果

两种方法实现分类导航,同时扩展讲解其它商城分类导航的制作方法

63737 学习 · 276 问题

查看课程

相似问题