diff -r 000000000000 -r d970ebf37754 wp/wp-content/themes/themeforest-2964855-scrn-responsive-single-page-portfolio/SCRN/js/jquery.inview.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-content/themes/themeforest-2964855-scrn-responsive-single-page-portfolio/SCRN/js/jquery.inview.js Wed Nov 06 03:21:17 2013 +0000 @@ -0,0 +1,120 @@ +/** + + * author Remy Sharp + + * url http://remysharp.com/2009/01/26/element-in-view-event-plugin/ + + */ + +(function ($) { + + function getViewportHeight() { + + var height = window.innerHeight; // Safari, Opera + + var mode = document.compatMode; + + + + if ( (mode || !$.support.boxModel) ) { // IE, Gecko + + height = (mode == 'CSS1Compat') ? + + document.documentElement.clientHeight : // Standards + + document.body.clientHeight; // Quirks + + } + + + + return height; + + } + + + + $(window).scroll(function () { + + var vpH = getViewportHeight(), + + scrolltop = (document.documentElement.scrollTop ? + + document.documentElement.scrollTop : + + document.body.scrollTop), + + elems = []; + + + + // naughty, but this is how it knows which elements to check for + + $.each($.cache, function () { + + if (this.events && this.events.inview) { + + elems.push(this.handle.elem); + + } + + }); + + + + if (elems.length) { + + $(elems).each(function () { + + var $el = $(this), + + top = $el.offset().top, + + height = $el.height(), + + inview = $el.data('inview') || false; + + + + if (scrolltop > (top + height) || scrolltop + vpH < top) { + + if (inview) { + + $el.data('inview', false); + + $el.trigger('inview', [ false ]); + + } + + } else if (scrolltop < (top + height)) { + + if (!inview) { + + $el.data('inview', true); + + $el.trigger('inview', [ true ]); + + } + + } + + }); + + } + + }); + + + + // kick the event to pick up any elements already in view. + + // note however, this only works if the plugin is included after the elements are bound to 'inview' + + $(function () { + + $(window).scroll(); + + }); + +})(jQuery); +