Skip to content

Commit

Permalink
simplify resetPreloading and switchLoadingClass (fixes #614)
Browse files Browse the repository at this point in the history
  • Loading branch information
aFarkas committed Mar 20, 2019
1 parent 7a699e7 commit 4c7a8ef
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 50 deletions.
36 changes: 20 additions & 16 deletions lazysizes-umd.js
Original file line number Diff line number Diff line change
Expand Up @@ -306,10 +306,6 @@

var resetPreloading = function(e){
isLoading--;
if(e && e.target){
addRemoveLoadEvents(e.target, resetPreloading);
}

if(!e || isLoading < 0 || !e.target){
isLoading = 0;
}
Expand Down Expand Up @@ -425,10 +421,18 @@
var throttledCheckElements = throttle(checkElements);

var switchLoadingClass = function(e){
addClass(e.target, lazySizesConfig.loadedClass);
removeClass(e.target, lazySizesConfig.loadingClass);
addRemoveLoadEvents(e.target, rafSwitchLoadingClass);
triggerEvent(e.target, 'lazyloaded');
var elem = e.target;

if (elem._lazyCache) {
delete elem._lazyCache;
return;
}

resetPreloading(e);
addClass(elem, lazySizesConfig.loadedClass);
removeClass(elem, lazySizesConfig.loadingClass);
addRemoveLoadEvents(elem, rafSwitchLoadingClass);
triggerEvent(elem, 'lazyloaded');
};
var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);
var rafSwitchLoadingClass = function(e){
Expand Down Expand Up @@ -482,12 +486,11 @@

event = {target: elem};

addClass(elem, lazySizesConfig.loadingClass);

if(firesLoad){
addRemoveLoadEvents(elem, resetPreloading, true);
clearTimeout(resetPreloadingTimer);
resetPreloadingTimer = setTimeout(resetPreloading, 2500);

addClass(elem, lazySizesConfig.loadingClass);
addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);
}

Expand Down Expand Up @@ -517,12 +520,13 @@

rAF(function(){
if( !firesLoad || (elem.complete && elem.naturalWidth > 1)){
if(firesLoad){
resetPreloading(event);
} else {
isLoading--;
}
switchLoadingClass(event);
elem._lazyCache = true;
setTimeout(function(){
if ('_lazyCache' in elem) {
delete elem._lazyCache;
}
}, 0);
}
}, true);
});
Expand Down
2 changes: 1 addition & 1 deletion lazysizes-umd.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 20 additions & 16 deletions lazysizes.js
Original file line number Diff line number Diff line change
Expand Up @@ -303,10 +303,6 @@

var resetPreloading = function(e){
isLoading--;
if(e && e.target){
addRemoveLoadEvents(e.target, resetPreloading);
}

if(!e || isLoading < 0 || !e.target){
isLoading = 0;
}
Expand Down Expand Up @@ -422,10 +418,18 @@
var throttledCheckElements = throttle(checkElements);

var switchLoadingClass = function(e){
addClass(e.target, lazySizesConfig.loadedClass);
removeClass(e.target, lazySizesConfig.loadingClass);
addRemoveLoadEvents(e.target, rafSwitchLoadingClass);
triggerEvent(e.target, 'lazyloaded');
var elem = e.target;

if (elem._lazyCache) {
delete elem._lazyCache;
return;
}

resetPreloading(e);
addClass(elem, lazySizesConfig.loadedClass);
removeClass(elem, lazySizesConfig.loadingClass);
addRemoveLoadEvents(elem, rafSwitchLoadingClass);
triggerEvent(elem, 'lazyloaded');
};
var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);
var rafSwitchLoadingClass = function(e){
Expand Down Expand Up @@ -479,12 +483,11 @@

event = {target: elem};

addClass(elem, lazySizesConfig.loadingClass);

if(firesLoad){
addRemoveLoadEvents(elem, resetPreloading, true);
clearTimeout(resetPreloadingTimer);
resetPreloadingTimer = setTimeout(resetPreloading, 2500);

addClass(elem, lazySizesConfig.loadingClass);
addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);
}

Expand Down Expand Up @@ -514,12 +517,13 @@

rAF(function(){
if( !firesLoad || (elem.complete && elem.naturalWidth > 1)){
if(firesLoad){
resetPreloading(event);
} else {
isLoading--;
}
switchLoadingClass(event);
elem._lazyCache = true;
setTimeout(function(){
if ('_lazyCache' in elem) {
delete elem._lazyCache;
}
}, 0);
}
}, true);
});
Expand Down
Loading

0 comments on commit 4c7a8ef

Please sign in to comment.