如何在使用jQuery和jQuery UI可拖动功能时提高性能

时间:2013-04-06 11:58:50

标签: javascript jquery performance

我使用jQuery UI draggable创建了一个自定义滑块。我将可拖动控件限制在x轴上。拖动控件时,我会检查控件的位置。

根据位置,我调用一个名为selectCells的函数。

此函数选择表格中的一系列单元格,并将单元格的html设置为图像。

因此,例如,如果索引为1,那么我想选择第一行和第一列中的所有单元格(仅一个单元格)。如果索引是2,那么我想选择前2行和列中的单元格(将选择4个单元格)等。

我跳过第一行和第一列,因为我不想填充这些单元格

我的selectCells功能如下

function selectCells(index, bGoingRight) {
    if (bGoingRight) {
        for (var i = 1; i <= index; i++) {
            $(container).find('#exponentTable tr:eq(' + i + ')').find('td').slice(1, index + 1).html(block);
        }
    } else {
        for (var i = 1; i < 13; i++) {
            $(container).find('#exponentTable tr:eq(' + i + ') td:eq(' + (index + 1) + ')').html(grayBlock);
            $(container).find('#exponentTable tr:eq(' +(index + 1) + ') td:eq(' + ( 13 - i) + ')').html(grayBlock);
        }
    }
}

问题是,如果用户快速滑动滑块,则会跳过一些行和列。

1 个答案:

答案 0 :(得分:0)

正如charlietfl所说,一旦我缓存行,它就会提高性能。