2012-07-16 38 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