首頁  >  文章  >  web前端  >  jQuery判斷是否瀏覽到網頁底部

jQuery判斷是否瀏覽到網頁底部

php中世界最好的语言
php中世界最好的语言原創
2018-04-19 14:27:031658瀏覽

這次帶給大家jQuery判斷是否瀏覽到網頁底部,jQuery判斷是否瀏覽到網頁底部的注意事項有哪些,下面就是實戰案例,一起來看一下。

有些需求中,需要當使用者捲動到瀏覽器底部的時候,再載入新的內容。筆者在這裡介紹如何使用Jquery判斷使用者是否已經瀏覽到網頁的底部了。

在了解下面的知識點之前,筆者在這裡先介紹幾個概念。

$(window).height(); //用於取得瀏覽器顯示區域的高度

$(window).width(); //用來取得瀏覽器顯示區域的寬度

$(document.body).height(); //取得頁面文件的高度

# $(document.body).width(); //取得頁面文件的寬度

$(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("我已经到底部啦");
 }
 })</p>
<p style="text-align: left;">
如果需要判斷使用者是否已經瀏覽到某個元素的話,那麼只需要把上面的網頁文檔高度,換成某一個元素距離網頁頂部的距離就可以了。例如: </p>
<pre class="brush:php;toolbar:false"> $(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);

我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:



#

以上是jQuery判斷是否瀏覽到網頁底部的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn