判断滚动条到底部的JS代码详解编程语言

lazyload.js          

 
//滚动条在Y轴上的滚动距离   
 function getScrollTop(){ 
  var scrollTop = 0, bodyScrollTop = 0, documentScrollTop = 0; 
  if(document.body){ 
    bodyScrollTop = document.body.scrollTop; 
  } 
  if(document.documentElement){ 
    documentScrollTop = document.documentElement.scrollTop; 
  } 
  scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop; 
  return scrollTop; 
}  
 //文档的总高度  
 function getScrollHeight(){ 
  var scrollHeight = 0, bodyScrollHeight = 0, documentScrollHeight = 0; 
  if(document.body){ 
    bodyScrollHeight = document.body.scrollHeight; 
  } 
  if(document.documentElement){ 
    documentScrollHeight = document.documentElement.scrollHeight; 
  } 
  scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight; 
  return scrollHeight; 
}  
 //浏览器视口的高度  
 function getWindowHeight(){ 
  var windowHeight = 0; 
  if(document.compatMode == "CSS1Compat"){ 
    windowHeight = document.documentElement.clientHeight; 
  }else{ 
    windowHeight = document.body.clientHeight; 
  } 
  return windowHeight; 
}  
 window.onscroll = function(){ 
  if(getScrollTop() + getWindowHeight() == getScrollHeight()){ 
    alert("you are in the bottom!"); 
  } 
}; 
 

lazyload-jQuery.js  

$(window).scroll(function(){ 
  var scrollTop = $(this).scrollTop(); 
  var scrollHeight = $(document).height(); 
  var windowHeight = $(this).height(); 
  if(scrollTop + windowHeight == scrollHeight){ 
    alert("you are in the bottom"); 
  } 
}); 

[文件] lazyLoad.html     

<!doctype html> 
<html lang="en" style="height:900px;"> 
 <head> 
  <meta charset="UTF-8"> 
  <meta name="Author" content="forever"> 
  <link rel="stylesheet" href="css/lazyload.css" /> 
  <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> 
  <title>lazyLoad</title> 
  <script type="text/javascript"> 
	 
	$(function(){ 
		var $ul=$("#lazyLoadWrap").find("ul"); 
		$(window).scroll(function(){ 
 			 var scrollTop = $(this).scrollTop(); 
 			 var scrollHeight = $(document).height(); 
 			 var windowHeight = $(this).height(); 
  			if(scrollTop + windowHeight == scrollHeight){ 
					for(var i=0;i<6;i++){ 
						$ul.append("<li>Hello</li>"); 
					} 
  			} 
		}); 
	}); 
  </script> 
 </head> 
 <body> 
	<div id="lazyLoadWrap"> 
		<ul> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li></li> 
			<li>12</li> 
		</ul> 
	</div> 
 </body> 
</html> 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/8751.html

(0)
上一篇 2021年7月18日
下一篇 2021年7月18日

相关推荐

发表回复

登录后才能评论