Skip to main content
LanguageРусский
Основы5 минут чтенияоктябрь 2026 г.

Как должно работать состояние загрузки?

Краткий ответ

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

Главное

  • Сопоставьте индикатор с ожиданием: нет, тонкий, счетчик или скелет, затем прогрессируйте.
  • Скелеты работают лучше всего, когда известен макет будущего контента.
  • Покажите состояние загрузки, в котором будет отображаться контент, а не только в углу.
  • Держите кнопку, которая запустила действие, в состоянии загрузки, чтобы предотвратить двойную отправку.
  • Соблюдайте настройки замедления движения и сохраняйте загрузку анимации спокойной.

Состояния загрузки существуют для того, чтобы ответить пользователю на один вопрос: что-нибудь происходит? Не получив ответа, люди нажимают еще раз, перезагружают страницу или уходят. Правильный ответ зависит от того, как долго они ждут.

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

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

Для длительных задач, таких как загрузка, экспорт или создание искусственного интеллекта, покажите реальный прогресс, если вы можете его измерить, объясните, что происходит, и позвольте людям отменить или продолжить другую работу. Спиннер, который вращается в течение минуты без какой-либо другой информации, воспринимается как неудача.

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

Анимация здесь помогает, но держите ее спокойной и короткой в ​​цикле и соблюдайте настройку замедленного движения. ExodeUI, который мы создаем, позволяет вам создать загрузчик или кнопку с состояниями загрузки, успеха и ошибки в одном файле, между которыми переключается ваш код.

Частые вопросы

Спиннер или экран-скелетон: что лучше?

Скелеты лучше использовать, если вы знаете форму будущего контента, например списка или карточки. Спиннеры лучше подходят для небольших областей или неизвестного контента.

Через какое время появится индикатор загрузки?

Многие команды ждут несколько сотен миллисекунд, чтобы при быстрых ответах не мигал счетчик. Проверьте свое реальное время отклика.

Должна ли анимация загрузки зацикливаться вечно?

Только пока задача действительно выполняется. Если это займет намного больше времени, чем ожидалось, покажите сообщение, прогресс или способ отмены.

Как показать загрузку в кнопке?

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

Связанные руководства и примеры

Попробуйте кнопку с реальными состояниями загрузки

Откройте интерактивные примеры с состояниями загрузки, успеха и ошибки, созданные в виде реальных файлов ExodeUI, которые вы можете редактировать.

Откройте примеры
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →