Простая javascript библиотека для добавления полноэкранных gif как hover-эффектов. Это очень серьезно, вот демо! Можно также поиграть с исходным кодом вживую на CodePen.
GifLinks это самостоятельная библиотека (никаких jquery, и тому подобного) так что использование довольно прямолинейно. Вся стилизация элементов в руках пользователей, GifLinks.js
только управляет созданием, стилизацией и управлением gif-попапом, предоставляя несколько css-классов для кастомной стилизации.
Есть не так много ограничений на то, какие 'html'-элементы можно использовать для GifLinks, единственно необходимым является атрибут data-src
, который должен указывать на gif/image, который вы хотите показать на hover-е.
<a href="awesome.html" data-src="./img/awesome.gif"> Ты только посмотри на это! </a>
<!-- Можно использовать любой элемент, серьезно -->
<span class="anything" data-src="./img/amazing.gif" /> Бабах! </span>
Чтобы начать использовать GifLinks.js, просто передайте элемент в функцию Giflinks
, когда они отрендерятся. Это можно сделать с document.querySelector
, выбирая элементы как вам нравится.
<a href="awesome.html" data-src="./img/awesome.gif"> Посмотри сюда! </a>
<script>
window.onload = function() {
// Добавим GifLink-и ко всем якорям на странице!
var element = document.querySelector( 'a' );
GifLinks( element );
}
</script>
Или несколько за один раз через имя класса.
<a class="giflink-to-be" href="awesome.html" data-src="./img/awesome.gif"> Посмотри сюда! </a>
<a class="giflink-to-be" href="incredible.html" data-src="./img/incredible.gif"> Просто Изумительно! </a>
<script>
window.onload = function() {
// Перевести все картинки в Giflink-и с классом 'giflink-to-be'.
var elements = document.querySelectorAll( '.giflink-to-be' );
GifLinks( elements );
}
</script>
Также можно передать флаг для прелоада картинки. В таком случае giflinks будут активны как только загрузка завершится!
<a href="awesome.html" data-src="./img/awesome.gif"> Посмотри сюда! </a>
<script>
window.onload = function() {
// Добавим GifLink-и ко всем а-тэгам на странице и попросим либу сделать пре-лоад!
var element = document.querySelector( 'a' );
GifLinks( element, { preload: true } );
}
</script>
Есть несколько мелких вещей, с которыми можно играть с css.
У всех активных giflink есть классы ready
и giflink
. А если в элементе есть активная ссылка, также добавятся has-link
и no-link
.
Также, если вы пользуетесь прелоадом, giflink-и получат класс preloaded
, который можно использовать, чтобы показать, что ссылка доступна, например так:
.giflink.preloaded {
transition: color 300ms;
color: #ff0000;
}
The MIT License (MIT)
Copyright (C) 2014 ~ Tim Holman ~ timothy.w.holman@gmail.com