2

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

JSfiddle 的问题

4

2 回答 2

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";
        }
    }
};​

演示

于 2012-11-01T08:10:46.473 回答
0

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

我认为这是解决方案

于 2012-11-01T08:32:28.103 回答