![]() |
Hur autoloadar Blocket sina bilder?
Kolla här och flippa mellan de 2 olika bilderna.
http://www.blocket.se/jonkoping/Buga....htm?ca=17&w=1 Det känns som den ena bilden är inladdad vid request. Är den det? Det jag reagerade på var att den ändrar src="" på mainbilden. Men om dom nu autoladdar filen innan, vart läggs den isåfall? Har icke hittat deras JS-funktion för detta. |
Kod:
$("#thumbs .thumb_element").click(function() { |
Tack, men det hjälper inte mig så mycket :/.
|
Om du kollar i scriptet, som de använder, så kallar de en funktion.
Citat:
Kort och gott, AJAX. |
Ajax har faktiskt ingenting med saken att göra såvitt jag kan se. Jag skummade igenom js-källkoden och tyckte mig ganska snabbt kunna se att de skapar en array med sökvägar till bilderna som de sedan preloadar så fort DOM:en är klar.
|
Jag valde att skriva ut alla <img länkar men endast visa den första.
sen när jag klickar på en thumb så döljs alla och sen visas den man klickade på. Än har jag inte stött på att man ser när bilden döljs och visas. Alltså content åker upp och sen ner när den nya bilden kom upp. |
Jag jobbar inte med frontend-utveckling längre men jag hade nog gjort nåt åt det håller också. Fast det beror på vilka krav som finns.
På min tid preloadade man bilderna genom att skapa image-objekt i minnet (inte i DOM:en) som man sen satte src-attribut på. Detta gjorde att bilderna lästes in i bakgrunden men det är möjligt att webbläsarna har ändrat beteende sedan dess. Dessutom kanske man vill att bilderna ska finnas i Html-koden. |
dAEk, det är så blocket preloadar också. Det är det absolut lättaste.
Lösingen du valde, secag, är okej, men inte helt rätt. Vad som händer nu är att sidan inte är "loaded" förens bilderna är inladdade, eftersom att de bor i DOM-trädet. Det spelar nog ingen roll för din del, men det kan vara bra att veta. Ta en titt på en lösning som dAEK föreslår här; http://engineeredweb.com/blog/09/12/...nd-javascript/ |
Så man tar alltså och lägger hela <img> element i en js array?
Så när man väljer att skriva ut ett element så finns redan hela bilden i arrayen och då behöver html inte leta reda på den? |
Citat:
Kod:
var images = ["http://host/images/1.jpg", "http://host/images/2.jpg", "http://host/images/3.jpg"]; |
Alla tider är GMT +2. Klockan är nu 02:29. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson