jQuery實現(xiàn)判斷滾動條到底部
判斷滾動條到底部,需要用到DOM的三個屬性值,即scrollTop、clientHeight、scrollHeight。
scrollTop為滾動條在Y軸上的滾動距離。
clientHeight為內(nèi)容可視區(qū)域的高度。
scrollHeight為內(nèi)容可視區(qū)域的高度加上溢出(滾動)的距離。
從這個三個屬性的介紹就可以看出來,滾動條到底部的條件即為scrollTop + clientHeight == scrollHeight。
廢話不多少說,趕緊上代碼(兼容不同的瀏覽器)。
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>
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關文章
jQuery實現(xiàn)鼠標滑過鏈接控制圖片的滑動展開與隱藏效果
這篇文章主要介紹了jQuery實現(xiàn)鼠標滑過鏈接控制圖片的滑動展開與隱藏效果,涉及jQuery鼠標事件的響應及鏈式操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10jquery.validate自定義驗證用法實例分析【成功提示與擇要提示】
這篇文章主要介紹了jquery.validate自定義驗證用法,結(jié)合實例形式分析了jQuery成功提示與擇要提示驗證操作相關實現(xiàn)與使用技巧,需要的朋友可以參考下2020-06-06jquery實現(xiàn)點擊向下展開菜單項(伸縮導航)效果
這篇文章主要介紹了jquery實現(xiàn)點擊向下展開菜單項(伸縮導航)效果,通過jquery遍歷及匹配頁面元素并動態(tài)修改頁面元素樣式實現(xiàn)該功能,需要的朋友可以參考下2015-08-08jQuery 獲取和設置select下拉框的值實現(xiàn)代碼
jQuery獲取和設置select下拉框值的實現(xiàn)代碼。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11jQuery 借助插件Lavalamp實現(xiàn)導航條動態(tài)美化效果
導航條動態(tài)顯示效果借助插件Lavalamp可以輕松實現(xiàn),以前用animate來實現(xiàn),效果不是很好2013-09-09實例詳解jQuery結(jié)合GridView控件的使用方法
這篇文章主要以實例的方式詳細介紹了jQuery結(jié)合GridView控件的使用方法,感興趣的小伙伴們可以參考一下2016-01-01