如何知道div是否固定在底部



http://jsfiddle.net/juveo1d7/

有没有可靠的方法可以通过设置固定div的底部属性或顶部属性来确定其位置?

我最好的选择是getComputedStyle,我想我可以通过查看div的顶部属性来知道它是否被"剪裁"到底部(如果没有设置,那么div就会被剪裁到底部),但即使我没有设置顶部属性,它仍然返回一个以像素为单位的值。

一个简单的div

<div id="fixed"></div>

css

#fixed {
    width: 50px;
    height: 50px;
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: red;
}

和javascript

var fixed = document.getElementById('fixed');
var position = window.getComputedStyle(fixed).position;
var top = window.getComputedStyle(fixed).top;
var bottom = window.getComputedStyle(fixed).bottom;

我知道这是一个很小的区别,但我需要在另一个div上只使用javascript来重现相同的行为。

好的,我得到了解决方案。

top属性仅在Firefox中返回一个以像素为单位的值,因为getComputedStyle对某些属性的操作有点不同,并返回使用的值而不是解析的值。要获得firefox中top属性的解析值,我们需要使用getDefaultComputedStyle,它只存在于firefox中(自ff19以来)。

var top = window.getComputedStyle(fixed).top;        // returns value in px   
var top = window.getDefaultComputedStyle(fixed).top; // returns auto

相关内容

最新更新