我想顯示大量不含多個「頁面」的結果來加載第1頁的結果「0-99」,第2頁的「100-199」,第2頁的「200-299」 3等僞連續滾動
因此,我的想法是創建一種僞連續滾動數據列表。所以本質上,數據將根據需要加載,但只有在滾動時纔會加載。那麼數據框就需要有一個合乎邏輯的滾動條(我不知道我現在怎麼做,也許只是用箭頭)。另外,如果加載了大量的數據,那麼我認爲需要從內存中清除舊數據,以免殺死瀏覽器。如何在web界面中使用jquery(或任何javascript)在客戶端執行所有此操作,並且php
我想顯示大量不含多個「頁面」的結果來加載第1頁的結果「0-99」,第2頁的「100-199」,第2頁的「200-299」 3等僞連續滾動
因此,我的想法是創建一種僞連續滾動數據列表。所以本質上,數據將根據需要加載,但只有在滾動時纔會加載。那麼數據框就需要有一個合乎邏輯的滾動條(我不知道我現在怎麼做,也許只是用箭頭)。另外,如果加載了大量的數據,那麼我認爲需要從內存中清除舊數據,以免殺死瀏覽器。如何在web界面中使用jquery(或任何javascript)在客戶端執行所有此操作,並且php
本Nadel在他的博客上(使用JQuery做了一些非常類似的事情(不是PHP,但服務器端代碼非常短)。
關於本公司實現的好處是,它會清除你滾過......這意味着你不跑成無限的DOM問題的東西。
您的意思是類似於SortFolio?您可以像使用jQuery一樣綁定到scroll event。然後,您將查看一系列xml get請求來引入數據,並根據滾動是上升還是下降來追加或預先添加列表。
以及它可能會得到相當複雜,當你進入它,但基本上是這樣的...:
// PSEUDO CODE
$(document).ready(function(){
$('#datascroller').scroll(function(){
var tbl = $('table', this);
var $this = $(this);
if($('td:last', tbl).scrollTop() == tbl.height()*-1)
{
//clear current data and display loading animation
tbl.fadeOut('fast', function(){
$(this).replaceWith(loadingAnimationElement.hide());
loadingAnimationElement.fadeIn('fast');
$.get('/phpscript.php', {page: 2}, function(results){
var $data = $(results).hide();
loadingAnimationElement.fadeOut('fast', function(){
$(this).replaceWith($data);
$data.fadeIn('fast');
})
});
});
}
});
});
我喜歡這個主意,但鏈接到本·納德爾幾乎是我想要做的...我會記住這一點,但是。謝謝 – jcuenod 2010-01-12 18:42:25
這種模式被稱爲「懶加載」 – 2010-01-12 18:06:49