尝试在表上执行JS函数后页面崩溃

时间:2019-02-22 02:00:44

标签: javascript

我有一个巨大的表(我相信),该表有728行,每行13列。我正在尝试使用下面的函数对表格进行排序,但是页面崩溃了,Chrome浏览器显示了以下消息:

  

您可以等待其响应或退出页面。

排序功能:

w3.sortHTML = function(id, sel, sortvalue) {
var a, b, i, ii, y, bytt, v1, v2, cc, j;
a = w3.getElements(id);
for (i = 0; i < a.length; i++) {
    for (j = 0; j < 2; j++) {
        cc = 0;
        y = 1;
        while (y == 1) {
            y = 0;
            b = a[i].querySelectorAll(sel);
            for (ii = 0; ii < (b.length - 1); ii++) {
                bytt = 0;
                if (sortvalue) {
                    v1 = b[ii].querySelector(sortvalue).innerHTML.toLowerCase();
                    v2 = b[ii + 1].querySelector(sortvalue).innerHTML.toLowerCase();
                } else {
                    v1 = b[ii].innerHTML.toLowerCase();
                    v2 = b[ii + 1].innerHTML.toLowerCase();
                }
                /******* custom *******/
                if (v1 === '-') {
                    v1 = 'zzzzz';
                }
                if (v2 === '-') {
                    v2 = 'zzzzz';
                }
                /******* custom *******/
                if ((j == 0 && (v1 > v2)) || (j == 1 && (v1 < v2))) {
                    bytt = 1;
                    break;
                }
            }
            if (bytt == 1) {
                b[ii].parentNode.insertBefore(b[ii + 1], b[ii]);
                y = 1;
                cc++;
            }
        }
        if (cc > 0) {
            break;
        }
    }
}
};

它在较小的桌子上工作得很好。

是否有一种编码方法可以使其在大型表上工作?

0 个答案:

没有答案