Отладчик, Показывающий Элемент, Не Видимый Без

#javascript

Вопрос:

На моем веб-сайте каждый раз, когда пользователь вводит команду, отображается круг загрузки. Это происходит с помощью команды jquery

 $("#load").show()  

Но проблема в том, что панель круга загрузки отображается только тогда, когда у меня есть отладчик и я смотрю на него в inspect. Вот несколько фотографий: Элемент в проверке с помощью отладчика (кружок загрузки во входном тексте)

Затем без элемента inspect панель загрузки не отображается. ПОМОГИТЕ, ПОЖАЛУЙСТА!!!

Комментарии:

1. Вероятно, что-то еще скрывает это. Когда вы используете отладчик, вы останавливаетесь между этими двумя операциями, поэтому видите круг загрузки.

2. Да, в этом-то и проблема, я не могу понять, что это скрывает, даже пройдя шаг за шагом через события.

3. Я видел это раньше. Если вы слишком много обрабатываете в браузере, он никогда не сможет обновить пользовательский интерфейс. Вам нужно показать свой загрузчик в другом потоке, создав его либо как обещание, либо, проще говоря, как функцию settimeout с одной миллисекундой.

4. @JohnLord Большое тебе спасибо, Джон, что ответил на мой вопрос! (сработала задержка в 1 миллисекунду)

Ответ №1:

Я видел это раньше. Если вы слишком много обрабатываете в браузере, он никогда не сможет обновить пользовательский интерфейс. Вам нужно показать свой загрузчик в другом потоке, создав его либо как обещание, либо, проще говоря, как функцию settimeout с одной миллисекундой.

 setTimeout(() =gt; { $("#load").show(); }, 1);