Crossbrowser的位置:固定但仍然失败?

时间:2012-11-01 08:04:11

标签: javascript css css3 position css-position

以下制作position : fixed的示例在我的FF16.02 / IE9中不起作用。但就我所知,它应该是与浏览器兼容的。 任何想法?

JSfiddle of the issue

2 个答案:

答案 0 :(得分:5)

问题在于document.body.scrollTop。这不是跨浏览器兼容的。使用window.scrollY,它应该可以正常工作。

您的代码将更改为:

var foo = document.getElementById('foo');
document.onscroll = function(e) {
    if (window.scrollY > foo.offsetTop) {
        foo.className = "foo sticky";
    } else {
        if (foo.className.indexOf('sticky')) {
            foo.className = "foo";
        }
    }
};​

Demo

答案 1 :(得分:0)

Updated打开这个我更新了 你必须设置 foo div中的position:fixed

我认为这是解决方案