2

次の作成例は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 に答える