From c5bb18d7a465cc3468876b50edbe175f50cb6eae Mon Sep 17 00:00:00 2001
From: Joe Watkins <info@joe-watkins.io>
Date: Sun, 5 Feb 2017 20:15:57 -0800
Subject: [PATCH] Add lazyload js fixes

---
 js/scripts.js | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/js/scripts.js b/js/scripts.js
index 92c42b99..ef2967dd 100644
--- a/js/scripts.js
+++ b/js/scripts.js
@@ -151,7 +151,38 @@ $(document).ready(function(){
         }
       }, // toc
 
+      lazyLoadFooter : function(target,offset){
+
+        var $target = $(target),
+            targetLoc = $target.offset().top,
+            contribsHaveLoaded = localStorage.getItem("contribsLoaded"),
+            footerLazyLoadTriggered = false,
+            $window = $(window);
+
+            if(!contribsHaveLoaded){
+
+              $window.on('scroll.lazyLoadFooter', function(e){
+
+                var scrollPos = $window.scrollTop(),
+                    targetScroll = targetLoc - offset;
+
+                    if(targetScroll <= scrollPos && !footerLazyLoadTriggered){
+                      localStorage.setItem("hasLoadedFooter",true);
+                      Engine.ui.footerContributors(); // run custom footer
+                      //footerLazyLoadTriggered = true;
+                      $window.off('scroll.lazyLoadFooter');
+                    }
+
+              });
+
+            }else{
+              Engine.ui.footerContributors(); // run custom footer
+            }
+
+      }, // lazyLoadFooter()
+
       footerContributors : function(){
+
         function gitHubContributors(){
 
           var
@@ -387,7 +418,7 @@ $(document).ready(function(){
   } // Engine
 
   Engine.ui.toc();
-  Engine.ui.footerContributors();
+  Engine.ui.lazyLoadFooter("footer[role='contentinfo']",800);
   Engine.ui.footerCopyright();
 
 });
-- 
GitLab