ホームページ > 記事 > ウェブフロントエンド > jqueryでスクロールバーが一番下に到達したかどうかを確認する方法
#このチュートリアルの動作環境: Windows7 システム、jquery3.2.1 バージョン、thinkpad t480 コンピューター。jQuery がスクロール バーが最下部に到達したかどうかを判断する方法: 1. [scrollTop()] メソッドを使用すると、jQuery はブラウザ ウィンドウのスクロール バーが最下部に到達したことを検出します; 2. [scroll_div] を使用して、移動バーが最下位に到達した場合。
jQuery がスクロール バーが最下部に到達したかどうかを判断する方法:
1. jQuery はブラウザ ウィンドウのスクロール バーが最下部に到達したことを検出します
jQuery 位置とサイズ関連の関数を取得します:$(document).height() ページ全体の高さを取得します
$(window).height() ブラウザが表示できるページ部分の現在の高さを取得します。このサイズは、ブラウザ ウィンドウのサイズを変更すると変更されます。これは document とは異なります。
scrollTop() 一致する要素の上部を基準としたオフセットを取得します。スクロール・バー 。
scrollLeft() スクロール バーの左側を基準とした一致する要素のオフセットを取得します。
scroll([[data],fn]) スクロール バーが変化するとスクロール イベントがトリガーされます
$(document).ready(function() { $(window).scroll(function() { if ($(document).scrollTop()<=0){ alert("滚动条已经到达顶部为0"); } if ($(document).scrollTop() >= $(document).height() - $(window).height()) { alert("滚动条已经到达底部为" + $(document).scrollTop()); } }); });
2. div 内のスクロール バーが一番下に到達していることを検出する jQuery
前半では、スクロール バーを検出する jQuery を紹介しました。ブラウザウィンドウのスクロールバーが一番下まで到達していますが、実際のところ、scrollTopとscrollHeightの概念がまだ理解できていません。通常、スクロールバーはdivに配置されます。 次の検出 ID はscroll_div スクロール バーが一番下のイベントに到達します:
<div id="scroll_div" style="overflow-y:auto; overflow-x:hidden;margin:100px;height:500px;border:1px solid red"> <div style="height:10000px"> 来自于www.php中文网.cn<br> 来自于www.php中文网.cn<br> 来自于www.php中文网.cn<br> </div> </div>まず、いくつかの概念を理解する必要があります:
scrollHeight: スクロールする必要があるスクロール バー、つまり内部 div の高さを示します。10000px
scrollTop: スクロールする必要があるスクロール バーの高さを示します。これは、外側の div 500px
$(document).ready(function() { $("#scroll_div").scroll(function(){ var divHeight = $(this).height(); var nScrollHeight = $(this)[0].scrollHeight; var nScrollTop = $(this)[0].scrollTop; $("#input1").val(nScrollHeight); $("#input2").val(nScrollTop); $("#input3").val(divHeight); if(nScrollTop + divHeight >= nScrollHeight) { alert("到达底部了"); } }); });データが非同期でロードされる場合、データは完全にはロードされず、同じページのデータ読み込みリクエストが違反されている場合、通常はフラグを追加します
$(document).ready(function() { var flag = false; $("#scroll_div").scroll(function(){ if(flag){ //数据加载中 return false; } var divHeight = $(this).height(); var nScrollHeight = $(this)[0].scrollHeight; var nScrollTop = $(this)[0].scrollTop; $("#input1").val(nScrollHeight); $("#input2").val(nScrollTop); $("#input3").val(divHeight); if(nScrollTop + divHeight >= nScrollHeight) { //请求数据 flag = true; alert("到达底部了"); } }); });
関連する無料学習の推奨事項:javascript(ビデオ)
以上がjqueryでスクロールバーが一番下に到達したかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。