jQuery實現(xiàn)判斷滾動條滾動到document底部的方法分析
本文實例講述了jQuery實現(xiàn)判斷滾動條滾動到document底部的方法。分享給大家供大家參考,具體如下:
滾動條沒有實際的高度。只是為了呈現(xiàn)效果才在外型上面有長度。
在js當(dāng)中也沒有提供滾動條的高度API。
參考了網(wǎng)上有關(guān)資料:判斷滾動條到底部的基本邏輯是滾動條滾動的高度加上視口的高度,正好是document的高度,公式表示為
滾動條滾動的高度+瀏覽器視口的高度>=document的高度。
參考網(wǎng)上資料,具體代碼如下:
//滾動條在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;
windowHeight = document.documentElement.clientHeight;
return windowHeight;
}
window.onscroll = function() {
if (getScrollTop() + getWindowHeight() == getScrollHeight()) {
alert("you are in the bottom!");
}
};
jquery實現(xiàn)代碼:
$(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");
}
});
代碼測試有效果。
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery頁面元素操作技巧匯總》、《jQuery常見事件用法與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery擴展技巧總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
相關(guān)文章
jquery實現(xiàn)全選和全不選功能效果的實現(xiàn)代碼【推薦】
下面小編就為大家?guī)硪黄猨query實現(xiàn)全選和全不選功能效果的實現(xiàn)代碼【推薦】。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-05-05
JQuery EasyUI 日期控件如何控制日期選擇區(qū)間
這篇文章主要介紹了JQuery EasyUI 日期控件如何控制日期選擇區(qū)間,需要的朋友可以參考下2014-05-05
jQuery中noconflict函數(shù)的實現(xiàn)原理分解
這篇文章主要介紹了jQuery中noconflict函數(shù)的實現(xiàn)原理分解,noconflict是用來防止變量沖突的,本文就分解了它的實現(xiàn)原理,并分析了它的實現(xiàn)源碼,需要的朋友可以參考下2015-02-02
jQuery實現(xiàn)按鈕點擊遮罩加載及處理完后恢復(fù)的效果
這篇文章主要介紹了jQuery實現(xiàn)按鈕點擊遮罩加載及處理完后恢復(fù)的效果,涉及jQuery與asp.net后臺交互實現(xiàn)頁面效果動態(tài)變換的相關(guān)技巧,需要的朋友可以參考下2016-06-06
jquery.lazyload 實現(xiàn)圖片延遲加載jquery插件
看到了淘寶產(chǎn)品介紹中,圖片是在下拉滾動條時加載,這是一個很不錯的用戶體驗。減少了頁面加載的時間了,也減輕了服務(wù)器的壓力,就查了下用JQuery..2010-02-02
jQuery實現(xiàn)響應(yīng)瀏覽器縮放大小并改變背景顏色
這篇文章主要介紹了jQuery實現(xiàn)響應(yīng)瀏覽器縮放大小并改變背景顏色,比較實用,也很簡單,使用到了一個resize事件需要的朋友可以參考下2014-10-10

