2012-07-16 35 views
1

是否有一個強大的基於MooTools的JavaScript庫來實現表格數據的無限滾動?MooTools的無限滾動表格數據

所以,想想一個Excel電子表格,您可以顯示部分數據(可能是10000行) - 我們最初顯示500行,然後向下滾動,然後加載下500行。此外,如果需要,我們可能需要放下「第一」行以防dom太大。

回答

0

您不需要用於這種數據處理/渲染的庫。

如果您的數據包含在JavaScript數組:

var dataArray = [ 
    [1, 5, 7, 9], 
    [3, 6, 2, 86], 
    [77, 3, 5, 14], 
    ... 
]; 

你只需要通過數組迭代和渲染行是必要的。

function renderRows(startIndex, endIndex) { 
    dataArray.slice(startIndex, endIndex); 
    var numRows = dataArray.length; 
    for(x=0;x<numRows;x++) { 
     renderRow(dataArray[x]); 
    } 
} 

function renderRow(data) { 
    new Element('tr', { 
     // ... 
    }).inject(table); 
} 

同樣的,如果你需要修剪表:

function pruneTable(number) { 
    // assuming "table" is defined elsewhere and points to the <table> element 
    var rows = table.getElements('tr'); 
    for(x=0;x<number;x++) rows[x].destroy(); 
} 

這組相同的功能,可以很容易地修改,使Ajax調用「獲取」了一套ñ行,使他們進來等等等等。

Mootools不是最終的,它是簡單的手段來結束!

警告:這都是未經測試的。我對任何語法錯誤不承擔任何責任!

+0

那麼,如果我*沒有能力一次將所有數據行存儲在內存中。此解決方案如何滾動? – artlung 2012-07-17 20:42:02

+0

AJAX它。您不必存儲整個數據集,並可以通過AJAX調用按需提取新條目。 – 2012-07-17 20:53:01

+0

沒錯。我現在正在以現在的方式獲取數據。我正在尋找的是實現這種技術的簡單模塊,例如http://www.infinite-scroll.com/。你的回答非常籠統,目前並沒有給我帶來任何不明顯的結果。我正在尋找的是乾淨的實現,也許是一個MooTools插件,它允許我指定一個數據源,將其轉換爲html的代碼,以及何時觸發獲取新數據的規則。 – artlung 2012-07-18 00:23:55