14

ページの上部から要素のリストまでの距離を計算するスクリプトがありますが、下部からの距離を検出する方法がわかりません。それが一番下に達したら (まあ、一番下の 20 ピクセル前)、イベントを発生させてフェードアウトさせたい:

$(window).on('load resize scroll', function () {
    $('.links__item').each(function () {
        if (($(this).offset().top - $(window).scrollTop()) < 20) {
            $(this).stop().fadeTo(100, 0)
        } else {
            $(this).stop().fadeTo('fast', 1)
        }
    })
})

誰かアドバイスがあれば、よろしくお願いします。私はそれを検出するために要素をループしているので、そのうちの1つが下から20pxに達したら、それをフェードアウトしたい. ありがとう!

4

2 に答える 2

15

height()次のように、計算でjQuery 関数を使用できます。

$(window).height();
$(this).height();

具体的には、要素の上部がページの下部に近いかどうかを検出する場合は、次の計算を使用できます。

if ( $(this).offset().top > ($(window).scrollTop() + $(window).height() - 20) ) // True
于 2013-05-15T16:23:10.900 に答える
4

ハルシオン、

何を発射したいのかわかりませんが、このようにページの下部をテストできます

$(window).on('load resize scroll', function () {
    $('.links__item').each(function () {
        if( ($(this).offset().top > ($(window).scrollTop() + $(window).height() - 20)) {
            $(this).stop().fadeTo(100, 0)
        } else {
            $(this).stop().fadeTo('fast', 1)
        }
    })
})

理由は、jQuery がページの高さに基づいてページの下部を検出するためです。

1 $(window).height();   // returns height of browser viewport
2 $(document).height(); // returns height of HTML document
于 2013-05-15T16:26:24.410 に答える