From: Marek Stępniowski Date: Mon, 10 Aug 2009 10:07:03 +0000 (+0200) Subject: Wydzielenie kodu jQuery obsługującego automatyczne ładowanie obrazków do biblioteki... X-Git-Url: https://git.mdrn.pl/redakcja.git/commitdiff_plain/816a4653c0086eeaf57ba148864bb06678d9234c?hp=0c64954c4295bea6529f13fa027341ce50dfd4fa Wydzielenie kodu jQuery obsługującego automatyczne ładowanie obrazków do biblioteki jquery.lazyload.js. --- diff --git a/project/static/js/jquery.lazyload.js b/project/static/js/jquery.lazyload.js new file mode 100644 index 00000000..25c94869 --- /dev/null +++ b/project/static/js/jquery.lazyload.js @@ -0,0 +1,43 @@ +(function($) { + jQuery.fn.lazyload = function(pattern, options) { + var settings = { + threshold: 0, + scrollThreshold: 300, + placeholder: 'loading...', + checkInterval: 2000 + }; + + if (options) { + $.extend(settings, options); + } + + var container = this; + container.data('lastScroll', -10000); + + function aboveViewport(container, element, threshold) { + return $(container).offset().top >= $(element).offset().top + $(element).height() + threshold; + } + + function belowViewport(container, element, threshold) { + return $(container).offset().top + $(container).height() + threshold <= $(element).offset().top; + } + + function checkScroll() { + if (Math.abs(container.scrollTop() - container.data('lastScroll')) > settings.scrollThreshold) { + container.data('lastScroll', container.scrollTop()); + + $(pattern, container).each(function() { + if (aboveViewport(container, this, settings.threshold) + || belowViewport(container, this, settings.threshold)) { + $(this).html(settings.placeholder); + } else { + $(this).html(''); + } + }) + } + setTimeout(checkScroll, settings.checkInterval); + } + + checkScroll(); + }; +})(jQuery); diff --git a/project/templates/explorer/file_html.html b/project/templates/explorer/file_html.html index b0d16b6e..f3fe1876 100644 --- a/project/templates/explorer/file_html.html +++ b/project/templates/explorer/file_html.html @@ -3,43 +3,14 @@ {% block extrahead %} {% endblock extrahead %} diff --git a/project/templates/explorer/file_xml.html b/project/templates/explorer/file_xml.html index 08e42e4c..5c8dbf00 100644 --- a/project/templates/explorer/file_xml.html +++ b/project/templates/explorer/file_xml.html @@ -2,36 +2,8 @@ {% block extrahead %} + {% endblock extrahead %}