最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當滾動條滾動到頁面底部自動加載增加內(nèi)容的js代碼

 更新時間:2014年05月13日 10:55:07   作者:  
這篇文章主要介紹了如何使用javscript實現(xiàn)滾動條滾動到頁面底部自動加載增加頁面內(nèi)容,需要的朋友可以參考下
1,注冊頁面滾動事件,window.onscroll = function(){ };

2,相關(guān)獲取頁面高度、滾動條位置、文檔高度的函數(shù):
復制代碼 代碼如下:

//獲取滾動條當前的位置
function getScrollTop() {
var scrollTop = 0;
if (document.documentElement && document.documentElement.scrollTop) {
scrollTop = document.documentElement.scrollTop;
}
else if (document.body) {
scrollTop = document.body.scrollTop;
}
return scrollTop;
}

//獲取當前可是范圍的高度
function getClientHeight() {
var clientHeight = 0;
if (document.body.clientHeight && document.documentElement.clientHeight) {
clientHeight = Math.min(document.body.clientHeight, document.documentElement.clientHeight);
}
else {
clientHeight = Math.max(document.body.clientHeight, document.documentElement.clientHeight);
}
return clientHeight;
}

//獲取文檔完整的高度
function getScrollHeight() {
return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
}

3,在html頁面底部增加代碼:
復制代碼 代碼如下:

<script>
window.onscroll = function () {
if (getScrollTop() + getClientHeight() == getScrollHeight()) {
alert("到達底部");
}
}
</script>

這樣當滾動條到達頁面底部時就會觸發(fā)alert("到達底部")。下面要做的就是將觸發(fā)的功能改為ajax調(diào)用,往頁面中動態(tài)增加內(nèi)容。

4,動態(tài)增加頁面元素的示例代碼:
復制代碼 代碼如下:

var newnode = document.createElement("a");
newnode.setAttribute("href", "#");
newnode.innerHTML = "new item";
document.body.appendChild(newnode);
var newline = document.createElement("br");
document.body.appendChild(newline);

將這段代碼替換掉alert("到達底部");,就可以看到,當滾動條滾動到底部時,頁面底部就會增加一行”new item“,不同往下滾動,不停增加,無止盡。

5,將示例代碼修改為ajax相關(guān)代碼:
復制代碼 代碼如下:

<script>
window.onscroll = function () {
if (getScrollTop() + getClientHeight() == getScrollHeight()) {
var xmlHttpReq = null;
//IE瀏覽器使用ActiveX
if (window.ActiveXObject) {
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
//其它瀏覽器使用window的子對象XMLHttpRequest
else if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();
}

if (xmlHttpReq != null) {
//設(shè)置請求(沒有真正打開),true:表示異步
xmlHttpReq.open("GET", "/ajaxtest", true);
//設(shè)置回調(diào),當請求的狀態(tài)發(fā)生變化時,就會被調(diào)用,傳遞參數(shù)xmlHttpReq
xmlHttpReq.onreadystatechange = function () { onajaxtest(xmlHttpReq); };
//提交請求
xmlHttpReq.send(null);
}
}
}

function onajaxtest(req) {
var newnode = document.createElement("a");
newnode.setAttribute("href", "#");
newnode.innerHTML = req.readyState + " " + req.status + " " + req.responseText;
document.body.appendChild(newnode);
var newline = document.createElement("br");
document.body.appendChild(newline);
}
</script>

當滾動條到頁面底部之后,就會增加以下節(jié)點,如下:

2 200
3 200 ajax ok
4 200 ajax ok

這里2、3、4,就是請求的狀態(tài)readyState,200就是http的回應狀態(tài)status,ajax ok是/ajaxtext應用返回的文本,具體查看以下參考資料。


按照XMLHttpRequest的的文檔說明,應該能夠打印出:

0 200

1 200

2 200

3 200 ajax ok

4 200 ajax ok

但是我這里沒有打印出0和1這兩個狀態(tài),這是為什么呢,路過的高手方便吱一聲嗎?

相關(guān)文章

  • 談談JavaScript中的垃圾回收機制

    談談JavaScript中的垃圾回收機制

    這篇文章主要介紹了JavaScript中的垃圾回收機制,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2020-09-09
  • layui table 參數(shù)設(shè)置方法

    layui table 參數(shù)設(shè)置方法

    今天小編就為大家分享一篇layui table 參數(shù)設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • js+css實現(xiàn)紅包雨效果

    js+css實現(xiàn)紅包雨效果

    這篇文章主要為大家詳細介紹了js+css實現(xiàn)紅包雨效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 關(guān)于window.pageYOffset和document.documentElement.scrollTop

    關(guān)于window.pageYOffset和document.documentElement.scrollTop

    window.pageYOffset:Netscape屬性,指的是滾動條頂部到網(wǎng)頁頂部的距離
    2011-04-04
  • js時間戳與日期格式之間轉(zhuǎn)換詳解

    js時間戳與日期格式之間轉(zhuǎn)換詳解

    這篇文章主要為大家詳細介紹了js時間戳與日期格式之間轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • JavaScript實現(xiàn)對css文件壓縮與合并的操作指南

    JavaScript實現(xiàn)對css文件壓縮與合并的操作指南

    在前端開發(fā)中,優(yōu)化資源加載是提升網(wǎng)站性能的重要環(huán)節(jié),CSS 文件的壓縮和合并能夠有效減少 HTTP 請求次數(shù)和文件大小,從而加快頁面加載速度,本文將分享我在 CSS 文件壓縮與合并方面的實踐經(jīng)驗,需要的朋友可以參考下
    2025-03-03
  • 淺談JS 數(shù)字和字符串之間相互轉(zhuǎn)化的糾紛

    淺談JS 數(shù)字和字符串之間相互轉(zhuǎn)化的糾紛

    下面小編就為大家?guī)硪黄獪\談JS 數(shù)字和字符串之間相互轉(zhuǎn)化的糾紛。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • JavaScript實現(xiàn)切換多張圖片

    JavaScript實現(xiàn)切換多張圖片

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)切換多張圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • 通過掃描二維碼打開app的實現(xiàn)代碼

    通過掃描二維碼打開app的實現(xiàn)代碼

    在項目開發(fā)中遇到這樣的需求,掃描二維碼打開app如果用戶沒有這個app則提示它跳轉(zhuǎn),怎么實現(xiàn)呢?下面小編給大家分享通過掃描二維碼打開app的實現(xiàn)代碼,感興趣的朋友參考下吧
    2016-11-11
  • javascript跨域請求包裝函數(shù)與用法示例

    javascript跨域請求包裝函數(shù)與用法示例

    這篇文章主要介紹了javascript跨域請求包裝函數(shù)與用法,結(jié)合實例形式分析了javascript基于ajax的跨域請求封裝函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下
    2016-11-11

最新評論

彭州市| 卓资县| 宜章县| 安新县| 淮北市| 瑞丽市| 射阳县| 泽普县| 扶余县| 永兴县| 茶陵县| 杭锦旗| 行唐县| 喜德县| 尼玛县| 桐庐县| 康保县| 三明市| 子洲县| 岢岚县| 荣昌县| 九台市| 新郑市| 永州市| 梓潼县| 大荔县| 洮南市| 青铜峡市| 祁门县| 泸西县| 北川| 阿克苏市| 怀仁县| 黄冈市| 邯郸市| 周口市| 锡林郭勒盟| 蒲城县| 婺源县| 德庆县| 盐源县|