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);
+