Как предварительно загрузить фоновые изображения CSS

Часть 7 из 7 в AmplitudeJS: с нуля

Дэн Пастори 27 сентября 2018 г.

#AmplitudeJS

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

В AmplitudeJS мы рекомендуем дизайнерам/разработчикам устанавливать фоновое изображение элемента с помощью CSS. Таким образом, обработчик кликов остается с элементом и не может быть неправильно истолкован при нажатии на изображение. Например, когда мы реализуем кнопка амплитуда-воспроизведение-пауза и у нас есть состояние воспроизведения . Мы хотим, чтобы состояние воспроизведения было представлено кнопкой паузы , чтобы пользователь знал, когда воспроизводится звук, он может приостановить его. Мы хотим, чтобы они были фоновым изображением, чтобы события щелчка, привязанные к родительскому элементу, не интерпретировались неправильно при нажатии на дочерний элемент изображения.

Если вы помещаете изображение внутрь родительского элемента, javascript может работать неправильно.

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

Настройка элемента предварительной загрузки

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

предварительная загрузка элемент вроде этого:

 <дел>


 svg" />




Прямо сейчас этот элемент будет виден, и все ваши изображения будут в случайном месте на экране, что также является ужасной идеей.

Все, что вам нужно сделать сейчас, это добавить на страницу следующий CSS:

 раздел # предварительная загрузка {
    дисплей: нет;
}
 

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

Когда пользователь меняет состояния плеера, все будет происходить очень плавно, и при начальной загрузке элемента не будет мигания! Это все, что действительно нужно!

Мы будем использовать этот трюк с предварительной загрузкой с примерами игроков, используемых в этом курсе.

Небольшие UX-настройки, подобные этой, помогают придать вашему проекту AmplitudeJS ощущение профессионализма. Не стесняйтесь обращаться к нам, если у вас есть какие-либо вопросы, и обязательно подпишитесь на нашу рассылку: AmplitudeJS, чтобы быть в курсе всех новых функций AmplitudeJS!

Поддержите будущий контент

Тсс… любой доход, который мы получаем от нашей книги, реинвестируется в то, чтобы предоставить вам больше контента. Если вам нравится то, что вы читаете, подумайте о том, чтобы получить нашу книгу или получить приятные бонусы, став спонсором.

Автор Дэн

Дэн Пастори

Строитель, творец и создатель. Дэн Пастори — сертифицированный разработчик Laravel с более чем 10-летним опытом разработки полного стека.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *