jQuery对话框中有大量数据时滚动条冻结

时间:2018-12-19 10:40:30

标签: javascript jquery jquery-ui internet-explorer jquery-ui-dialog

我有一个jQuery对话框,该对话框由对ASP.net MVC中的控制器操作的AJAX调用填充。此AJAX调用返回了13,000多行数据,这些数据已绑定到对话框中的table

在IE11中,当我尝试滚动结果时,滚动条几秒钟变得无响应,然后响应,然后再次变得无响应,依此类推。它实际上并没有为用户提供良好的UI体验。滚动条大部分保持冻结状态。我在Chrome中没有遇到相同的问题。

下面是我为对话框编写的代码。

$("#dialog").dialog({
  title: "title",
  width: 800,
  height: 450,
  modal: true,
  open: function(event, ui) {
    $(this).load(UrlHelper.Resolve("/ControllerName/ACtionMethodName"), function(data, status) {
      $('#ajaxSpinner').hide();
      if (status == 'success') {
        $("#dialog").html(data);
      } else {
        alert('An error occurred while processing your request');
      }
    });
  },
  close: function(event, ui) {
    $(this).dialog('close');
  },
  dialogClass: 'dialogPosition'
});

我希望我可以把这个问题浓缩为一个小提琴,以帮助您,但我不知道如何以较小的比例重现它。希望我能够解释这个问题。

1 个答案:

答案 0 :(得分:0)

您试图一次加载过多的内容,请尝试对数据进行分页。

您甚至可以尝试使用此jquery无限滚动插件(jscroll):https://jscroll.com/