【问题标题】:Crossbrowser position:fixed but still fails?跨浏览器位置:已修复但仍然失败?
【发布时间】:2012-11-01 08:04:11
【问题描述】:

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

JSfiddle of the issue

【问题讨论】:

  • 你想达到什么目的? position:fixed 通常可以很好地跨浏览器运行,所以要么您希望它做一些与预期不同的事情,要么您的实现不正确。

标签: javascript css position css-position


【解决方案1】:

问题出在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

【讨论】:

    【解决方案2】:

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

    我认为这是解决方案

    【讨论】:

      猜你喜欢
      • 2011-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-31
      • 2013-02-19
      • 2013-02-26
      • 1970-01-01
      • 2013-08-02
      相关资源
      最近更新 更多