Адаптивная верстка Youtube видео ролика как фона произвольного контейнера

Это продолжение статьи о адаптивном показе видео из разных источников. Здесь я расскажу о youtube роликах. Для управления роликом буду использовать jQuery плагин jquery.mb.YTPlayer

У нас есть много вариантов как выполнить задачу:

  • использовать плагин, который я подобрал;
  • использовать  API YouTube — доки вот тут:
    https://developers.google.com/youtube/iframe_api_reference;
  • вообще не пользоваться плагинами и API.

Нужно понять, что нам даёт каждый вариант. Плагин или API позволит нам выполнить функции вроде остановки / запуска видео. Если этого не требуется, то можно обойтись без плагинов. Вариант без использования плагина вот тут.

Итак, для начала подключим jquery.mb.YTPlayer и jQuery. Стили плагина можно не инклюдить, они нам не нужны.

В секции <head> для мобильных устройств пригодится вот это (я думаю здесь комментарии не нужны):

Пусть у нас в верстке есть контейнер:

Инициализация

ID ролика сохраним в переменной video_id.

Далее идет кусочек кода — инициализация плагина. Обратите внимание на параметры — мы отключаем звук — mute, зацикливаем видео — loop, и отключаем некоторые элементы, которые позволяет отключить плагин.

Адаптируем размеры видео

Специальная функция для обновления размеров сцены и фрейма — vidRescale. Так как плагин добавляет свою  разметку, то приходится следить за 2мя контейнерами.

Эту функцию (vidRescale) надо вызывать в момент изменения размеров контейнера. Если размеры контейнера меняются вместе с размерами окна (window), то используйте код

Если же надо отслеживать resize контейнера отдельно, то приходится писать что то вроде следующего:

Так мы мониторим размеры контейнера и вызываем функцию пересчета, если замечаем изменения.

Пропорции видео

Отдельно стоит упомянуть о пропорциях видео (aspect rate) для YouTube. Я использовал стандартное значение — 16/9. Но бывают ролики с совершенно кастомным отношением сторон, как выудить значение ? Читайте тут.

Управление роликом

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

Стили

Осталось только взглянуть на стили.

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

А вот живой пример на основе предложенного кода (на десктопе можно менять размеры контейнера, потянув за уголок справа-внизу).

Мало букафф? Читайте есчо !

Программное создание публикации в Drupal 7

Апрель 15, 2017 г.

Еще одна шпаргалка по Drupal 7. Мы создадим публикацию из PHP, добавим пользовательские поля и даже загрузим файл (изображение) в поле соответствующего типа. Сначала мы создадим структуру публикации (объект node).  Нам понадобится указать данные, ...

Читать

Добавляем параметры в настройки Wordpress

Август 7, 2017 г.

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

Читать

Хром пересвечивает картинку

Июнь 23, 2022 г.

После очередного обновления, google chrome озадачил меня слишком высокой яркостью. Проявлялось это только на одном из мониторов. Проблема в итоге решилась следующим образом. В разделе настроек хрома "Эксперименты" (введите url chrome://flags/) ...

Читать

Май, велик, лес, дорога...

Май 27, 2017 г.

Мы с Лехой открыли велосезон 2017 поздненько. Тянуть с открытием было уже просто некуда. Майскую Велопрогулку прогулять мы не могли. К поездке особо не ...

Читать
 

Комментарии к «Адаптивная верстка Youtube видео ролика как фона произвольного контейнера»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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