滾動到頁面底部自動載入內容

2022-05-03 01:15:06 字數 1841 閱讀 8733

上網時經常會看到許多酷炫的網頁,其中給我印象較深刻的是滑鼠滾動到頁面底部時會自動載入內容,一直都很好奇是怎麼樣做到的,於是自己也嘗試著寫了一下。

先上個完整**吧:

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>document

title

>

<

script

src="js/jquery.min.js"

>

script

>

<

style

>

divli

style

>

head

>

<

body

id="container"

>

<

div>lfjakjflkf

div>

<

script

>

//獲取滾動條當前的位置

function

getscrolltop()

else

if(document.body)

return

scrolltop;

} //獲取當前可視範圍的高度

function

getclientheight()

else

return

clientheight;

} //獲取文件完整的高度

function

getscrollheight()

window.onscroll

=function

() else

; xhr.open(

"get",

"load.json",

true

); xhr.onreadystatechange

=function

()) }

}xhr.send(); }}

script

>

body

>

html

>

load.json檔案的**如下:

]}

好了,下面來分析下這段**,其實先是頁面載入完畢會有一部分內容,然後滑動滾動條,一直到文件可視區域高度+滾動條距離文件頂部高度 等於 文件總高度時 非同步載入乙個json檔案的內容。

這裡有幾個要點:1、獲取文件的完整高度。2、獲取文件可視區域高度。3、獲取滾動條距離文件頂部的高度。4、判斷滾動條是否滑動到頁面底部,如到了底部則非同步載入json檔案。5、需要將非同步載入的json檔案渲染到頁面中,由於獲取到的是json字串,因此需要使用json.parse()方法先將其轉換為json物件,才可以使用$.each()方法進行遍歷,然後逐個獲取資料。

其實我這裡獲取文件高度、可視區域高度以及滾動條距離文件頂部高度使用js寫的,相對要複雜點,如果用jquery寫的話,會是很簡潔的,如

獲取文件完整高度,可以使用$(document).height();

獲取文件可視區域高度,可以使用$(window).height();

獲取滾動條距離文件頂部的高度,可以使用$(window).scrolltop()。

div滾動到底部自動載入

重點 一開始一直進不了滾動事件,最後發現是因為需要滾動元素的父元素沒有設定overflow hidden 記住了!如果不設定fixed的話,就要設定元素固定的高!css contentboxhtml contentbox schooldeatl div loaddiv style width 100...

ListView滾動到底部自動載入更多

1.自己寫乙個loadingview,有2種狀態 1種是載入時的顯示,一種是載入失敗 網路超時 時候的重發介面 2.將loadingview放到listview的footview中 3.在baseadapter的getview中判斷position是不是最後乙個.例如當前有20條記錄,positio...

滾動條滾動到頁面底部繼續載入

這個例項應該說可以很簡單,直接使用jquery的方法來處理也是可以的。但本文底層使用原生的js來處理,遇到一些小知識點可以分析一下也算有所得。原理很簡單,就是為window新增乙個scroll事件,瀏覽器每次觸發scroll事件時判斷是否滾動到了瀏覽器底部,如果到了底部則載入新資料。關鍵是計算滾動條...