X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/816a4653c0086eeaf57ba148864bb06678d9234c..0a8fdf777d7f183cb83b3db47c23c12e7cfc6c45:/project/static/js/jquery.lazyload.js diff --git a/project/static/js/jquery.lazyload.js b/project/static/js/jquery.lazyload.js index 25c94869..c15167bd 100644 --- a/project/static/js/jquery.lazyload.js +++ b/project/static/js/jquery.lazyload.js @@ -12,7 +12,7 @@ } var container = this; - container.data('lastScroll', -10000); + container.data('lazyload:lastCheckedScrollTop', -10000); function aboveViewport(container, element, threshold) { return $(container).offset().top >= $(element).offset().top + $(element).height() + threshold; @@ -23,15 +23,24 @@ } function checkScroll() { - if (Math.abs(container.scrollTop() - container.data('lastScroll')) > settings.scrollThreshold) { - container.data('lastScroll', container.scrollTop()); + if (container.data('lazyload:lastCheckedScrollTop') == undefined) { + return; + } + if (Math.abs(container.scrollTop() - container.data('lazyload:lastCheckedScrollTop')) > settings.scrollThreshold) { + container.data('lazyload:lastCheckedScrollTop', container.scrollTop()); $(pattern, container).each(function() { if (aboveViewport(container, this, settings.threshold) || belowViewport(container, this, settings.threshold)) { $(this).html(settings.placeholder); } else { - $(this).html(''); + $(this).html(''); + var self = this; + $('').load(function() { + if ($(this).height() > $(self).height()) { + $(self).height($(this).height()); + } + }).appendTo(this); } }) }