2017-04-19 2 views
1

Wenn ich auf eine Reihe von Bildern lade, möchte ich eine Mindestwartezeit von 200ms einstellen. Das bedeutet, egal wie schnell die Bilder geladen, die ich für diese Zeit warten wird, so:Warten auf geladene und verzögerte Bilder, wenn schneller als erwartet?

Wenn in 100 ms geladen Bilder, ich warte auf 200ms

Wenn Bilder in 150 ms geladen, warte ich auf 200ms

Wenn Bilder laoded in 300ms, ich warte auf 300ms

Ist das möglich?

Derzeit imagesLoaded ich zu erkennen, wenn Bilder geladen werden, ist es in der Regel schneller als ich

erwarten
 container.imagesLoaded(function() { 
      container.fadeIn(); 
     }); 
+0

Können Sie nicht einfach ein Umschlingungselement zunächst verstecken, und es dann nach einer Verzögerung zeigen? Wenn sie schnell geladen werden, sind sie nicht sofort sichtbar. Wenn sie langsamer laden, fallen Sie auf Ihr normales Szenario zurück. – Mark

Antwort

2

ich ein einfacher Aufruf an setTimeout glauben sollte es tun. Es wird 200 ms warten und dann für die Bilder warten lassen, wenn sie noch nicht geladen werden:

setTimeout(() => { 
    container.imagesLoaded(function() { 
     container.fadeIn(); 
    }); 
}, 200); 
+0

Sie haben Recht! Wie kommt es, dass es mir nicht eingefallen ist? – Edward