12

(検索やグーグルで見つけられなかったので、重複していないことを願っています)

スクロールバーがこの後者のdivの下部に達したときに、固定高さのdiv( '#div')で検出する方法を見つけようとしています。このイベントを検出するために$(document).height()andを使用する必要がありますか?$(window).height()

編集:高さが固定で、自動スクロールを設定した私のdiv、それをどのように処理するのですか?$('#div').height() を使用すると仮定すると、この高さは固定されています....

4

5 に答える 5

32

.height()ドキュメントでは:

$(window).height();   // returns height of browser viewport
$(document).height(); // returns height of HTML document

あなたの場合、documentではなくの高さが必要なようですwindow。このように考えてみてください。window高さはあなたが見ているものですが、document高さには上下すべてが含まれます。

編集

scrollTop()メソッドの助けを借りて、スクロールの上部と下部を確認します。

var bottom = $(document).height() - $(window).height();

$(document).scroll(function(){
    var position = $(this).scrollTop();
    if (position === bottom) {
        console.log("bottom");
    }else if(position === 0){
        console.log("top");   
    } else {
        console.log("scrolling");
    }
});
于 2013-01-24T14:58:27.540 に答える
10

ドキュメントの高さは、表示可能領域の外側であっても、ドキュメント全体の全体の高さです。ページが長い場合、これは数千ピクセルになる可能性があります。ウィンドウの高さは、表示可能な領域です。

于 2013-01-24T14:57:32.020 に答える
0

jQueryソースからのコードは次のとおりです。

if (jQuery.isWindow(elem)) {
    // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
    // isn't a whole lot we can do. See pull request at this URL for discussion:
    // https://github.com/jquery/jquery/pull/764
    return elem.document.documentElement["client" + name];
}

// Get document width or height
if (elem.nodeType === 9) {
    doc = elem.documentElement;

    // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest
    // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.
    return Math.max(
    elem.body["scroll" + name], doc["scroll" + name],
    elem.body["offset" + name], doc["offset" + name],
    doc["client" + name]);
}

そのため、for$(window) clientHeightが使用されます。これは、@ Drewが正しく言及したように、表示される画面領域の高さです。

現在のページの$(document)スクロールの高さ全体が使用されます。

于 2013-01-24T15:02:05.530 に答える
0

ドキュメントの高さは、必ずしもウィンドウの高さと同じではありません。DIV と少しのテキストだけの単純なドキュメントの場合、ドキュメントの高さはウィンドウの高さに比べて非常に小さくなります。

于 2013-01-24T14:57:36.203 に答える