>웹 프론트엔드 >JS 튜토리얼 >웹 페이지가 브라우저 하단으로 스크롤되었는지 여부를 결정하는 jQuery에 대한 자세한 설명

웹 페이지가 브라우저 하단으로 스크롤되었는지 여부를 결정하는 jQuery에 대한 자세한 설명

小云云
小云云원래의
2018-01-20 10:44:191423검색

일부 요구 사항에서는 사용자가 브라우저 하단으로 스크롤할 때 새 콘텐츠를 로드해야 합니다. 여기서 저자는 Jquery를 사용하여 사용자가 웹 페이지 하단까지 탐색했는지 확인하는 방법을 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.

다음 지식 포인트를 이해하기 전에 저자는 여기서 몇 가지 개념을 소개합니다.

$(window).height(); //브라우저 표시 영역의 높이를 가져오는 데 사용됩니다.

$(window).width() //브라우저 표시 영역의 너비를 가져오는 데 사용됩니다.

$( document.body).height(); //페이지 높이 가져오기 document

$(document.body).width() //페이지 너비 가져오기 document

$(document).scrollTop() ; //세로 스크롤 막대에서 위쪽까지의 세로 거리 가져오기

$(document).scrollLeft(); //가로 스크롤 막대에서 왼쪽까지의 가로 거리 가져오기

위의 지식 포인트를 통해 알 수 있는 정보: 브라우저 표시 영역의 높이 + 수직 스크롤 막대 거리 상단 거리 <=웹 페이지의 높이.

이 결론으로 ​​구현하기 쉽습니다. 다음 코드는 사용자가 웹 페이지 하단까지 탐색했는지 여부를 확인하기 위해 구현됩니다.


 $(window).scroll(function(){
 var h=$(document.body).height();//网页文档的高度
 var c = $(document).scrollTop();//滚动条距离网页顶部的高度
 var wh = $(window).height(); //页面可视化区域高度

 if (Math.ceil(wh+c)>=h){
  alert("我已经到底部啦");
 }
 })

사용자가 특정 요소를 탐색했는지 확인해야 하는 경우 위의 웹 페이지 문서 높이를 특정 요소와 웹 페이지 상단 사이의 거리로 변경하기만 하면 됩니다. 예:


 $(window).scroll(function(){
 var h=$("#p").offset().top;//id为p的元素距离网页顶部的距离
 var c = $(document).scrollTop();//滚动条距离网页顶部的高度
 var wh = $(window).height(); //页面可视化区域高度

 if (Math.ceil(wh+c)>=h){
  alert("我已经到底部啦");
 }
 })

여기서 독자들은 판단 조건에서 wh+c가 이 숫자보다 크거나 같은 가장 작은 정수라는 점에 유의해야 합니다. 작성자의 테스트 결과 IE7, 8, 9, 11에서는 문제가 없습니다.

다음으로 작성자는 위 코드를 플러그인으로 캡슐화합니다.


(function ($) {
  //backcall是回调函数,count表示回调函数被执行的次数,count只有在元素通过滚动条滑出的时候才起作用
 $.fn.inBottom = function (backcall){
 //判断当前元素是否在目前屏幕可视化区域之内
 if(this.offset().top >= $(window).height()){
 this.inScroll(backcall,count);
 }else{
 this.inWindow(backcall);
 }
 };
 //直接加载回调函数
 $.fn.inWindow = function (backcall){
 backcall();
 };
 //滚动监听滑动条,元素滚动到屏幕底部的时候,加载回调函数
 $.fn.inScroll = function (backcall,count) {
  var $this=this;
 $(window).scroll(function(){
 //获得这个元素到文档顶部的距离
 var awayDocTop=$this.offset().top;
 //获得滚动条的top
 var sTop=$(document).scrollTop();
 //获得可视化窗口的高度
 var wh=$(window).height();
  if(Math.ceil(wh+sTop)>=awayDocTop){
  if(count>0){
  backcall();
  count--;
  }
 };
 });
 };
})(jQuery);

그러면 독자들은 위의 플러그인 파일을 소개한 후 다음과 유사한 코드를 통해 호출할 수 있습니다.


$("#p").inBottom(function(){
 alert("我被回调了");
},1);

관련 추천:

css 컨트롤 div가 브라우저 하단에 고정됨 예제 코드

브라우저 하단에 항상 고정된 이미지를 구현하는 방법은 무엇입니까?_html/css_WEB-ITnose

One is browser 브라우저 하단에 고정 부동 DIV를 구현하는 방법은 무엇입니까(CSS만 사용)? _html/css_WEB-ITnose

위 내용은 웹 페이지가 브라우저 하단으로 스크롤되었는지 여부를 결정하는 jQuery에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.