74

ページのスクロール位置が特定の高さに達したら、単に何かをしようとしています。ただし、どれだけ下にスクロールしてもscrollTop()0を返すか、関係ありません。これは、値nullを確認するために使用しているヘルプ機能です。scrollTop()

$('body').click(function(){
    var scrollPost = $(document).scrollTop();
    alert(scrollPost);
});

、そしてもちろんに接続scrollTop()しようとしましたが、何も変わりません。$('body')$('html')$(window)

何か案は?

4

9 に答える 9

118

何らかの理由で、htmlタグとbodyタグから「height:100%」を削除すると、この問題が修正されました。

これが他の誰かに役立つことを願っています!

于 2012-10-08T21:46:34.700 に答える
53

私は scroll = 0 で同じ問題を抱えていました:

document.body.scrollTop

次回利用

document.scrollingElement.scrollTop

編集 01.06.2018

を使用すると、またはに要素eventを持つオブジェクトが得られます。これは、さまざまなブラウザーでのスクロール操作を示す表です。documenttargetsrcElement例

ここに画像の説明を入力

ご覧のとおり、Firefox と IE にはありませんsrcElement。IE 11 はサポートしていませんscrollingElement

于 2017-09-21T09:43:23.480 に答える
9

上記のいくつかを試した後、CSSを変更する必要のない私の解決策:

var scroll_top = Math.max( $("html").scrollTop(), $("body").scrollTop() )

これは、Chrome、Firefox、IE、および Edge の最新バージョンで機能します。

于 2017-03-23T13:26:49.860 に答える
2

同じ問題がありました。scrollTop() は、ドキュメントやボディではなく、一部のブロックで機能します。このメソッドを機能させるには、ブロックの高さとオーバーフロー スタイルを追加する必要があります。

#scrollParag {
    height: 500px;
    overflow-y: auto;
}

その後:

var scrolParag = document.getElementById('scrollParag');
 alert(scrolParag.scrollTop); // works!
于 2016-11-12T19:52:11.143 に答える