Как я могу успешно реализовать функцию .ajaxStart и .ajaxStop с таймером в моем примере ниже - PullRequest
0 голосов
/ 03 мая 2019

Скажем, у меня есть код ниже, и я хотел бы динамически заполнить раскрывающийся список, как в this с описанием (первый пример вызывает "Извлечение из текстовых файлов") НЕ JSON или MySQL,Когда я выбираю, например, «напитки», я хочу подождать, чтобы сказать 2 сек.и увидеть загрузочный контейнер Div.Я пишу, что хочу увидеть этот загрузочный div на 2 сек.потому что на практике небольшие текстовые файлы загружаются очень быстро, поэтому клиент не видит загрузочный div, только флэш-память, которая занимает 1/3 сек.Загрузочный контейнер может отображаться дольше, например, когда соединение плохое, например, Wi-Fi в ресторане.Итак, у меня есть код ниже, но я не знаю, почему он не работает и как я могу объявить правило с 2 сек.

HTML

<body>
 <h1>Pulls from text files</h1>
  <select id="text-one">
   <option selected value="base">Please Select</option>
   <option value="beverages">Beverages</option>
   <option value="snacks">Snacks</option>
  </select>     
<br />      
  <select id="text-two">
   <option>Please choose from above</option>
  </select>
</body>

JQuery

$(document).ready(function() {
  $("#text-one").change(function() {
  $("#text-two").load("textdata/" + $(this).val() + ".txt");
});

ajax

$(document).ready(function() {
  $('<div id="loading">Loading...</div>')
  .insertBefore('#text-two')
  .ajaxStart(function() {
  $(this).show();
  }).ajaxStop(function() {
  $(this).hide();
  });
});

CSS

 #loading {display:none;}

Поэтому, когда я выбираю из опции выбора «напитки», я хочу видеть загрузочный контейнер Div в течение 2 секунд.или дольше, когда соединение плохое или соединение прерывается (плохой Wi-Fi).Как я могу улучшить мой код выше и почему он не работает.Пожалуйста, дайте мне ответ, спасибо.

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