Полоса прокрутки зависает, когда в диалоговом окне jQuery много данных - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть диалоговое окно jQuery, которое заполняется вызовом AJAX для действия контроллера в ASP.net MVC.Этот вызов AJAX возвращает более 13 000 строк данных, которые связаны с table внутри диалога.

В IE11 полоса прокрутки перестает отвечать на запросы в течение нескольких секунд, пока я пытаюсь прокрутить результат, а затем отвечает, а затем снова перестает отвечать на запросы и так далее.Это не очень хороший пользовательский интерфейс для пользователя.Полоса прокрутки в основном остается заблокированной.Я не сталкиваюсь с той же проблемой в 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 голосов
/ 19 декабря 2018

Вы пытаетесь загрузить слишком много контента за один раз, попробуйте разбить свои данные на страницы.

Вы даже можете попробовать этот плагин jquery для бесконечной прокрутки (jscroll): https://jscroll.com/

...