在網(wǎng)頁開發(fā)中,經(jīng)常會涉及到展示大量數(shù)據(jù)的需求。為了方便用戶瀏覽和提高網(wǎng)頁性能,通常會采用點擊加載下一頁的方式。下面是實現(xiàn)該功能的代碼示例:
<script> var current_page = 1; // 當(dāng)前頁面數(shù) var total_page = 10; // 總頁面數(shù) // 模擬請求數(shù)據(jù)并渲染 function loadData() { // TODO: 發(fā)送ajax請求獲取數(shù)據(jù)并渲染 var data = ['數(shù)據(jù)1', '數(shù)據(jù)2', '數(shù)據(jù)3']; var html = ''; for (var i = 0; i < data.length; i++) { html += '<div>' + data[i] + '</div>'; } document.getElementById('list').innerHTML += html; } // 綁定按鈕點擊事件 document.getElementById('btn_load').addEventListener('click', function() { if (current_page < total_page) { current_page++; loadData(); } else { alert('沒有更多數(shù)據(jù)了!'); } }); </script>
以上代碼實現(xiàn)了點擊按鈕加載下一頁數(shù)據(jù)的功能。首先定義了兩個變量,其中current_page表示當(dāng)前頁數(shù),total_page表示總頁數(shù)。loadData函數(shù)模擬了請求數(shù)據(jù)的過程,并將數(shù)據(jù)渲染出來。當(dāng)按鈕被點擊時,判斷當(dāng)前頁數(shù)是否小于總頁數(shù),如果是則當(dāng)前頁數(shù)加一并調(diào)用loadData函數(shù),否則提示沒有更多數(shù)據(jù)了。
值得注意的是,在渲染數(shù)據(jù)時使用了innerHTML屬性,這會導(dǎo)致之前的數(shù)據(jù)被覆蓋,所以不能直接替換整個列表的HTML代碼。而是將新的數(shù)據(jù)追加到列表的末尾,使用了字符串累加的方式來實現(xiàn)。