| Autor | Zpráva | ||
|---|---|---|---|
| Fury Profil * |
#1 · Zasláno: 16. 5. 2013, 11:00:43
Zdravím,
potřeboval bych radu. Mám web, kde se mi mění po 4 vteřinách pozadí:
$(document).ready(function(){
var newBg = ['02.jpg', '03.jpg', '04.jpg', '05.jpg', '01.jpg'];
var path="img/bg/";
var i = 0;
var rotateBg = setInterval(function(){
$('body').css('backgroundImage' , "url('" +path+newBg[i]+ "')");
if(i==5)
i=0;
else
i++;
}, 4000);
});
Obrázky na pozadí mají všechny okolo 90kB, ale stává se mi, že když se zobrazí vždy další obrázek v pozadí, problikne mi mezitím bílá stránka. Dají se nějak obrázky načíst dopředu, aby se toto nestávalo (nejsem si jistý zda je to doopravdy tím)? Nebo jiné řešení? Díky moc za pomoc |
||
| juriad Profil |
#2 · Zasláno: 16. 5. 2013, 11:07:22
Preload obrázku
Nebo hledej na zdejší diskusi image preload. Opravdu chceš, aby uživatel zažíval šok každé 4 sekundy? Pokud jsou obrázky výrazně jiné, opravdu tím nikoho nepotěšíš. |
||
| Chamurappi Profil |
#3 · Zasláno: 17. 5. 2013, 16:04:49
Reaguji na Furyho:
Obrázek vyrobený přes new Image má také událost onload, takže může celou animaci nastartovat až v době, kdy je všechno načtené.
„$('body').css('backgroundImage' , "url('" +path+newBg+ "')");“ Proč vyhledáváš každé čtyři sekundy <body>? Proč na tak triviální činnost používáš jQuery?
document.body.style.backgroundImage = "url('" +path+newBg[i]+ "')"; |
||
|
Časová prodleva: 13 let
|
|||
0