The best thing to happen to the internet since the <a> tag.
JavaScript HTML CSS
Latest commit e0862e2 Oct 3, 2015 @tholman remove trailing comma
Permalink
Failed to load latest commit information.
demo scaling and nicening of mobile demo page Jul 7, 2014
GifLinks.js remove trailing comma Oct 3, 2015
GifLinks.min.js remove console log Jul 9, 2014
readme.md Update readme.md Jul 11, 2014

readme.md

GifLinks

A simple javascript library used for adding full screen gif action as a hover effect. This is very serious stuff, here's a demo! You can also play with the source live on CodePen.

Instructions

GifLinks is a stand alone library (no jquery, or the likes) so usage is pretty straight forward. All styling of elements is up to the user, GifLinks.js only handles the creation, styling and management of the gif popup, as well as providing a few css classes for custom styling.

HTML

There aren't many restrictions for the html elements you want to use to activate GifLinks, the one mandatory attribute a data-src, which needs to point to the gif/image you wish to flash up when hovering.

<a href="awesome.html" data-src="./img/awesome.gif"> Check this out! </a>

<!-- You can use any html element, really -->

<span class="anything" data-src="./img/amazing.gif" /> Kapow! </span>

JS

GifLinks.js is fairly robust when it comes to assigning elements to be used, its as simple as passing them to the Giflinks function, once they have been rendered. You can do this with document.querySelector finding your elements however you like.

<a href="awesome.html" data-src="./img/awesome.gif"> Check this out! </a>

<script>
window.onload = function() {
    // Add GifLinks to all anchor tags on the page!
    var element = document.querySelector( 'a' );
    GifLinks( element );
}
</script>

Or doing multiple at once, with a classname.

<a class="giflink-to-be" href="awesome.html" data-src="./img/awesome.gif"> Check this out! </a>
<a class="giflink-to-be" href="incredible.html" data-src="./img/incredible.gif"> Just Incredible! </a>

<script>
window.onload = function() {
    // Giflinkify all images with the 'giflink-to-be' classname.
    var elements = document.querySelectorAll( '.giflink-to-be' );
    GifLinks( elements );
}
</script>

You can also pass in an option to preload the image, In this case the giflinks will only become active when loading is complete!

<a href="awesome.html" data-src="./img/awesome.gif"> Check this out! </a>

<script>
window.onload = function() {
    // Add GifLinks to all a tags on the page, and preload!
    var element = document.querySelector( 'a' );
    GifLinks( element, { preload: true } );
}
</script>

CSS

There are a few little things to play with, when it comes to css.

All active giflinks will have a ready and a giflink class. As well as a has-link and no-link class, if the element contains an active href.

Also, if you preload, the giflinks will recieve a preloaded class, which can be used to show the link is ready to be hovered, for example:

.giflink.preloaded {
    transition: color 300ms;
    color: #ff0000;
}

License

The MIT License (MIT)

Copyright (C) 2014 ~ Tim Holman ~ timothy.w.holman@gmail.com