diff --git a/src/octoprint/plugins/announcements/static/js/announcements.js b/src/octoprint/plugins/announcements/static/js/announcements.js index 87a899e8..2fe4dbb7 100644 --- a/src/octoprint/plugins/announcements/static/js/announcements.js +++ b/src/octoprint/plugins/announcements/static/js/announcements.js @@ -144,13 +144,7 @@ $(function() { if (!self.loginState.isAdmin()) return; // lazy load images that still need lazy-loading - $("#plugin_announcements_dialog_content article img").each(function (index, element) { - var src = element.getAttribute("data-src"); - if (src) { - element.setAttribute("src", src); - element.removeAttribute("data-src"); - } - }); + $("#plugin_announcements_dialog_content article img").lazyload(); self.announcementDialogContent.scrollTop(0); diff --git a/src/octoprint/static/js/app/main.js b/src/octoprint/static/js/app/main.js index 6ccb0f9f..3e2f6c70 100644 --- a/src/octoprint/static/js/app/main.js +++ b/src/octoprint/static/js/app/main.js @@ -444,6 +444,18 @@ $(function() { } }; + $.fn.lazyload = function() { + return this.each(function() { + if (this.tagName.toLowerCase() != "img") return; + + var src = this.getAttribute("data-src"); + if (src) { + this.setAttribute("src", src); + this.removeAttribute("data-src"); + } + }); + }; + // Use bootstrap tabdrop for tabs and pills $('.nav-pills, .nav-tabs').tabdrop();