Jquery l oop пока класс не существует - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь использовать от jquery до go хотя каждую страницу сайта и собирать данные с каждой страницы. Когда пользователь нажимает кнопку новой страницы и после загрузки страницы значение текущего номера страницы устанавливается на "". Поэтому я пытаюсь использовать это как индикатор того, когда страница закончила загрузку

Поэтому я попытался сделать что-то подобное, чтобы каждый l oop ждал, пока страница не загрузится полностью.

let totalNumberOfPages = -1;

$(".pagination .pg").each(function(data) {
  totalNumberOfPages++;
});

for (let i = 1; i <= totalNumberOfPages; i++) {
  $(".goto-page-input").val(i);
  $(".gotosubmit").click();

  // Wait until page loads
  while ($(".goto-page-input").val() != "") {
    // Loading
  }

  console.log(`Getting data of page ` + i);
}    

Внешний l oop соответствует go, хотя кнопки каждой страницы нумеруются. Однако этот код не работает, потому что он создает бесконечное время, пока l oop. Хотя l oop никогда не заканчивается, я полагаю, что он блокирует код, а код, который должен установить значение номера страницы на "", никогда не срабатывает. Я не уверен, как решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2020

Вам нужен обработчик события change, см. Пример ниже. Обратите внимание, что событие изменения будет вызвано потерей фокуса.

(async () =>
{
  document.querySelector(".goto-page-input")
    .addEventListener("change", evt =>
    {
    console.log(evt.target.value);
      if (evt.target.value === "")
      {
        // LOGIC GOES HERE
        console.log('Logic is happening');
      }
    }, true);
})();
<input type="number" placeholder="Page" value="" class="goto-page-input" />
0 голосов
/ 16 апреля 2020

Вы можете использовать

$(window).load(() => {
  console.log(“Getting data of page “ + i);
});

Это выполнит функцию обратного вызова, как только загрузится окно.

См. Документы: https://api.jquery.com/load/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...