21

私はいくつかのプラグインを作成しておりscrollTop、ドキュメントの最大の価値を得る必要があります。最大scrollTop値は ですが2001、を$(document).height()返し2668$('body')[0].scrollHeightくれますundefined

2001javascript / jqueryを通過する方法?!

4

5 に答える 5

34

コメントのコードは機能するはずです。

$(document).height() - $(window).height()

最大スクロール位置までスクロールしたときにアラートを出す例を次に示します。http://jsfiddle.net/DWn7Z/

于 2012-10-18T23:42:28.343 に答える
1

スクロールトップの最大値を「推測」したい場合は、ドキュメントの高さとビューポートの高さ (ウィンドウのサイズ) を比較する必要があります。

/**
 * Return a viewport object (width and height)
 */
function viewport()
{
    var e = window, a = 'inner';
    if (!('innerWidth' in window))
    {
        a = 'client';
        e = document.documentElement || document.body;
    }
    return { width : e[ a+'Width' ] , height : e[ a+'Height' ] }
}

// Retrieve the height of the document, including padding, margin and border
var documentHeight = $(document).outerheight(true);
var viewPortData = viewport();

var maxScrollTop = documentHeight - viewPortData.height;

もちろん、プラグインでは、resize イベントにリスナーを追加し、最大 scrollTop を再計算する必要があります。

于 2012-10-18T23:54:28.597 に答える