In het voorbeeldtopic van de lazy images springt de pagina nog steeds alle kanten op als de breedte van het contentveld < 800px is.
Dit komt omdat de max-width van afbeeldingen op 100% komt en de height op auto waardoor de originele hoogte wordt overschreven. Hierna wordt de ratio gebruikt van de ingevoegde afbeelding welke in dit geval 1:1 is(de 1px image)
Oplossing 1: de "1px"-afbeelding in de juiste ratio laten zijn(ofwel voor elke afbeelding die een andere ratio heeft de kleins mogelijke deling maken en die serveren).
Oplossing 2: (mijn voorkeur) de afbeelding wrappen in een container met padding hack met padding-bottom in percentage van de ratio. De afbeelding hierin zal dan weer absoluut gepositioneerd dienen te worden. (de noscript zal hier waarschijnlijk ook in moeten te komen met hogere z-index)
Verder weet ik niet precies hoe de code nu zijn werk doet maar wat bij mijn eigen loader een performance winst geeft is de y-posities van alle te-lazy-loaden-objecten(bij tweakers alleen afbeeldingen?) in een js-object zetten en deze alleen na window load/resize(en evt andere niet native events) bij te werken.
Zo hoef je niet na elke scroll-debounce voor alle afbeeldingen de positie op te zoeken.
Optioneel als je niet zeker bent dat er geen events zijn die je hebt gemist kan je om de x scrollbewegingen een extra refresh van y-posities doen.
Het enige waar ik zelf nog mee zit, bij swipescrolls zit altijd een "ease-out" waardoor de debounce-functie ervoor zorgt dat het heel lang duurt voordat de scrollpositie-check wordt uitgevoerd.
Misschien kan er een scrollsnelheid-check gemaakt worden hiervoor. Hier denk ik zelf ook nog over na ;-)
Dit komt omdat de max-width van afbeeldingen op 100% komt en de height op auto waardoor de originele hoogte wordt overschreven. Hierna wordt de ratio gebruikt van de ingevoegde afbeelding welke in dit geval 1:1 is(de 1px image)
Oplossing 1: de "1px"-afbeelding in de juiste ratio laten zijn(ofwel voor elke afbeelding die een andere ratio heeft de kleins mogelijke deling maken en die serveren).
Oplossing 2: (mijn voorkeur) de afbeelding wrappen in een container met padding hack met padding-bottom in percentage van de ratio. De afbeelding hierin zal dan weer absoluut gepositioneerd dienen te worden. (de noscript zal hier waarschijnlijk ook in moeten te komen met hogere z-index)
Verder weet ik niet precies hoe de code nu zijn werk doet maar wat bij mijn eigen loader een performance winst geeft is de y-posities van alle te-lazy-loaden-objecten(bij tweakers alleen afbeeldingen?) in een js-object zetten en deze alleen na window load/resize(en evt andere niet native events) bij te werken.
Zo hoef je niet na elke scroll-debounce voor alle afbeeldingen de positie op te zoeken.
Optioneel als je niet zeker bent dat er geen events zijn die je hebt gemist kan je om de x scrollbewegingen een extra refresh van y-posities doen.
Het enige waar ik zelf nog mee zit, bij swipescrolls zit altijd een "ease-out" waardoor de debounce-functie ervoor zorgt dat het heel lang duurt voordat de scrollpositie-check wordt uitgevoerd.
Misschien kan er een scrollsnelheid-check gemaakt worden hiervoor. Hier denk ik zelf ook nog over na ;-)