Javascript HTML表格过滤和回流

Javascript HTML表格过滤和回流,javascript,html,css,ajax,reflow,Javascript,Html,Css,Ajax,Reflow,我有一个非常大的html表,有900多行。我通过循环行并根据过滤器的值隐藏/显示行来启用过滤 问题出在这里。当我隐藏/显示500多行时,当浏览器忙于回流时,页面将完全无响应。在筛选、克隆表然后替换表等之前,我尝试过隐藏表。但无响应仍然是一个问题,因为它阻止我在浏览器重画时加载“动画”图像 分页不是选项,惰性滚动也不是选项 以下是循环: var rows = null; $("#mavis-filters").find("input:checkbox").on("click", function(

我有一个非常大的html表,有900多行。我通过循环行并根据过滤器的值隐藏/显示行来启用过滤

问题出在这里。当我隐藏/显示500多行时,当浏览器忙于回流时,页面将完全无响应。在筛选、克隆表然后替换表等之前,我尝试过隐藏表。但无响应仍然是一个问题,因为它阻止我在浏览器重画时加载“动画”图像

分页不是选项,惰性滚动也不是选项

以下是循环:

var rows = null;
$("#mavis-filters").find("input:checkbox").on("click", function() {
   var id, i;      
   if (!rows) {
      rows = document.getElementById("taskOverview").querySelectorAll("tr");
   }
   id = this.id; 
   i  = rows.length;

   while (i--) {
      var row = rows[i];
      if (row.dataset.project === id) {
         row.classList.toggle("row-hidden");
      }
   }

});

使用渐进式渲染解决此问题。以下是如何在每个浏览器中应用它:

  • 用于启用渐进式渲染
  • 在Firefox/Camino中,在
  • 表标记
  • 使用而不是jQuery

请显示在行中循环的代码。也许我们可以优化它也许我错了,但似乎你有一个无限循环。。