From c3bf65a77e58d52ed3ae60d7937cbf45dc382ec2 Mon Sep 17 00:00:00 2001 From: Anxhelo Lushka Date: Fri, 19 Jan 2018 00:20:32 +0100 Subject: [PATCH] Update jquery.appear.js --- bower_components/appear/jquery.appear.js | 154 +---------------------- 1 file changed, 4 insertions(+), 150 deletions(-) diff --git a/bower_components/appear/jquery.appear.js b/bower_components/appear/jquery.appear.js index 961d8da..93ede84 100644 --- a/bower_components/appear/jquery.appear.js +++ b/bower_components/appear/jquery.appear.js @@ -1,150 +1,4 @@ -/* - * jQuery.appear - * https://github.com/bas2k/jquery.appear/ - * http://code.google.com/p/jquery-appear/ - * - * Copyright (c) 2009 Michael Hixson - * Copyright (c) 2012 Alexander Brovikov - * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) - */ -(function($) { - $.fn.appear = function(fn, options) { - - var settings = $.extend({ - - //arbitrary data to pass to fn - data: undefined, - - //call fn only on the first appear? - one: true, - - // X & Y accuracy - accX: 0, - accY: 0 - - }, options); - - return this.each(function() { - - var t = $(this); - - //whether the element is currently visible - t.appeared = false; - - if (!fn) { - - //trigger the custom event - t.trigger('appear', settings.data); - return; - } - - var w = $(window); - - //fires the appear event when appropriate - var check = function() { - - //is the element hidden? - if (!t.is(':visible')) { - - //it became hidden - t.appeared = false; - return; - } - - //is the element inside the visible window? - var a = w.scrollLeft(); - var b = w.scrollTop(); - var o = t.offset(); - var x = o.left; - var y = o.top; - - var ax = settings.accX; - var ay = settings.accY; - var th = t.height(); - var wh = w.height(); - var tw = t.width(); - var ww = w.width(); - - if (y + th + ay >= b && - y <= b + wh + ay && - x + tw + ax >= a && - x <= a + ww + ax) { - - //trigger the custom event - if (!t.appeared) t.trigger('appear', settings.data); - - } else { - - //it scrolled out of view - t.appeared = false; - } - }; - - //create a modified fn with some additional logic - var modifiedFn = function() { - - //mark the element as visible - t.appeared = true; - - //is this supposed to happen only once? - if (settings.one) { - - //remove the check - w.unbind('scroll', check); - var i = $.inArray(check, $.fn.appear.checks); - if (i >= 0) $.fn.appear.checks.splice(i, 1); - } - - //trigger the original fn - fn.apply(this, arguments); - }; - - //bind the modified fn to the element - if (settings.one) t.one('appear', settings.data, modifiedFn); - else t.bind('appear', settings.data, modifiedFn); - - //check whenever the window scrolls - w.scroll(check); - - //check whenever the dom changes - $.fn.appear.checks.push(check); - - //check now - (check)(); - }); - }; - - //keep a queue of appearance checks - $.extend($.fn.appear, { - - checks: [], - timeout: null, - - //process the queue - checkAll: function() { - var length = $.fn.appear.checks.length; - if (length > 0) while (length--) ($.fn.appear.checks[length])(); - }, - - //check the queue asynchronously - run: function() { - if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout); - $.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20); - } - }); - - //run checks when these methods are called - $.each(['append', 'prepend', 'after', 'before', 'attr', - 'removeAttr', 'addClass', 'removeClass', 'toggleClass', - 'remove', 'css', 'show', 'hide'], function(i, n) { - var old = $.fn[n]; - if (old) { - $.fn[n] = function() { - var r = old.apply(this, arguments); - $.fn.appear.run(); - return r; - } - } - }); - -})(jQuery); \ No newline at end of file +(function($){$.fn.appear=function(fn,options){var settings=$.extend({data:undefined,one:true,accX:0,accY:0},options);return this.each(function(){var t=$(this);t.appeared=false;if(!fn){t.trigger('appear',settings.data);return;} +var w=$(window);var check=function(){if(!t.is(':visible')){t.appeared=false;return;} +var a=w.scrollLeft();var b=w.scrollTop();var o=t.offset();var x=o.left;var y=o.top;var ax=settings.accX;var ay=settings.accY;var th=t.height();var wh=w.height();var tw=t.width();var ww=w.width();if(y+th+ay>=b&&y<=b+wh+ay&&x+tw+ax>=a&&x<=a+ww+ax){if(!t.appeared)t.trigger('appear',settings.data);}else{t.appeared=false;}};var modifiedFn=function(){t.appeared=true;if(settings.one){w.unbind('scroll',check);var i=$.inArray(check,$.fn.appear.checks);if(i>=0)$.fn.appear.checks.splice(i,1);} +fn.apply(this,arguments);};if(settings.one)t.one('appear',settings.data,modifiedFn);else t.bind('appear',settings.data,modifiedFn);w.scroll(check);$.fn.appear.checks.push(check);(check)();});};$.extend($.fn.appear,{checks:[],timeout:null,checkAll:function(){var length=$.fn.appear.checks.length;if(length>0)while(length--)($.fn.appear.checks[length])();},run:function(){if($.fn.appear.timeout)clearTimeout($.fn.appear.timeout);$.fn.appear.timeout=setTimeout($.fn.appear.checkAll,20);}});$.each(['append','prepend','after','before','attr','removeAttr','addClass','removeClass','toggleClass','remove','css','show','hide'],function(i,n){var old=$.fn[n];if(old){$.fn[n]=function(){var r=old.apply(this,arguments);$.fn.appear.run();return r;}}});})(jQuery);