CODYSHOP
темы и плагины для WordpressНедавно задумался, каким образом на сайте dribbble.com реализована управление анимацией изображений. Когда на странице много gif изображений, очень удобно, если они не мельтешат перед глазами, и пользователь может сам выбрать, что просмотреть, а что нет.
Чтобы внедрить ручное управление gif анимацией у себя на сайте, скачайте готовую JS библиотеку Gifffer. Gifffer позволяет отключить автоматический запуск браузером gif изображений. Кроме того, библиотека добавляет кнопку управления над анимацией: пользователь может вручную запустить, поставить на паузу, или возобновить просмотр. И еще есть один плюс. Кнопку запуска вы можете оформить так, как вам захочется с помощью CSS стилей.
Важно! Если вы используете gif анимацию на сайте под управлением WordPress, при загрузке движок создает уменьшенные копии исходного изображения. Проблема в том, что копии становятся статичными. Единственный способ обойти эту проблему – выводить исходное изображение. Это значит, что оптимизацию и выбор подходящего размера, необходимо производить перед заливкой картинки на сайт. Остается надеется, что в будущих версиях WP эта проблема будет устранена.
Установка библиотеки
Подключаем библиотеку.
<script type="text/javascript" src="gifffer.js"></script>
В теге img укажите путь к картинке, вместо src используйте атрибут data-gifffer. Например:
<img data-gifffer="image.gif" />
Инициализация библиотеки:
window.onload = function() {
Gifffer();
}Можно оформить кнопку запуска анимации.
<script>
window.onload = function() {
Gifffer({
playButtonStyles: {
'width': '60px',
'height': '60px',
'border-radius': '30px',
'background': 'rgba(255, 255, 255, 0.3)',
'position': 'absolute',
'top': '50%',
'left': '50%',
'margin': '-30px 0 0 -30px'
},
playButtonIconStyles: {
'width': '0',
'height': '0',
'border-top': '14px solid transparent',
'border-bottom': '14px solid transparent',
'border-left': '14px solid rgba(255, 255, 255, 0.75)',
'position': 'absolute',
'left': '26px',
'top': '16px'
}
});
}
</script>Дополнительно вы можете прописать атрибуты изображения:
<img
data-gifffer="image.gif"
data-gifffer-width="250"
data-gifffer-height="250"
data-gifffer-alt="Описание картинки"
>Работа библиотеки совместима с браузерами:
Chrome, FF, Safari, Opera, IE9+
Интегрируем на WordPress сайт
Чтобы наша библиотека заработала на WordPress сайте, нам придется подкорректировать обычный вывод миниатюр с использованием функции the_post_thumbnail. Для работы анимации, нам нужно добавить изображению атрибут data-gifffer. Делается это так:
<?php $attr = array( 'data-gifffer' => $src, 'alt' => trim(strip_tags( $wp_postmeta->_wp_attachment_image_alt )), ); the_post_thumbnail( 'medium', $attr ); ?>