Little script that detects if an element is in the viewport and adds a class to it.
Just include the script and jQuery in your website tag and call it on the elements you want to check.
<head>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="viewportchecker.js"></script>
<script>
$(document).ready(function(){
$('.dummy').viewportChecker();
});
</script>
</head>
The currently available global options are:
$('.dummy').viewportChecker({
classToAdd: 'visible', // Class to add to the elements when they are visible
offset: 100, // The offset of the elements (let them appear earlier or later)
repeat: false, // Add the possibility to remove the class if the elements are not visible
callbackFunction: function(elem, action){}, // Callback to do after a class was added to an element. Action will return "add" or "remove", depending if the class was added or removed
scrollHorizontal: false // Set to true if your website scrolls horizontal instead of vertical.
});
Besides the global options you can also add data-attributes to each individual element. These attributes will override the global options.
Available attributes are:
<div data-add="random"></div> > clasToAdd
<div data-offset="100"></div> > offset
<div data-repeat="true"></div> > repeat
<div data-scrollHorizontal="false"></div> > scrollHorizontal
The guys from web2feel have written a little tutorial with a great example of how you can use this script. You can check the tutorial here and the demo here.