safari / chrome在运行javascript函数时冻结UI

时间:2017-10-19 09:51:02

标签: javascript jquery html css3

我有一个可以存储很多行的HTML表。我可以选择根据下拉选项过滤此数据。所有这一切都与行的选择相匹配,并将基于此隐藏或显示。

当用户更改选择时,会在页面顶部放置一个加载叠加层,并带有旋转圆圈。然后调用排序函数。然而,当功能运行时,它将在几秒钟后冻结覆盖层上的旋转徽标

继承我的代码:

 $("#selectTypeFilter").change(function(){


  setTimeout(loadingDisplay, 50);



  setTimeout(fliterList, 2000);



});

function fliterList(){

  var val = $('#selectTypeFilter').val();

  if(val == 0)
  {
    $('#employeeListTable > tbody > tr').each(function(i, row){
      $(this).show();
      console.log("step 1");
      // loadModalDataForecast();
    });

    console.log("step 2");

    sumSummary();
    $.LoadingOverlay("hide");
  }
  else
  {
    $('#employeeListTable > tbody > tr').each(function(i, row){
      // alert($(row).find('#employmentType > select :selected').text());
      if(val == $(row).find('#employmentType > select :selected').text())
      {
        $(this).show();
        // loadModalDataForecast();
        // sumSummary();
      }
      else
      {
        $(this).hide();
        // loadModalDataForecast();
        // sumSummary();
      }
            console.log("step 1");

    });
        console.log("step 2");
    sumSummary();
    $.LoadingOverlay("hide");
  }
}

旋转圆圈在冷冻前旋转几秒钟

我认为它与行数有关,因为只有少数行可以正常工作

任何帮助?

0 个答案:

没有答案