Mam problem w galerii zdjęciowej ze skryptem obsługującym wczytwanie zdjęć.
Próbowałem osiągnąć efekt taki, że po załadowaniu jakiegoś zdjęcia, ładuje się odrazu następne...
oto link do przykładowej galerii...
http://www.pawelwoo.com/gallery.php/11/264.html
Oto cała logika JSa
function nextPic() { if(newPic < totalPic) { newPic++ document.pic.src=Galimg[newPic] if(newPic + 1 <= totalPic) { // Sprawdza czy to nie ostatnie zdjęcie. Jeśli nie, ładuje do przeglądarki GRSKEZ = new Image(HEIimg[newPic + 1],HEIimg[newPic + 1]) GRSKEZ.src = Galimg[newPic + 1] } refreshCounter() } } function prevPic() { if(newPic != 1) { newPic-- document.pic.src=Galimg[newPic] refreshCounter() } } function refreshCounter() { // funkcja która ustawia dane zawarte w tablicy Desimg. Dodatkowo ustawia disablowość przycisków ruchu. document.getElementById("imgData").innerHTML = Desimg[newPic]; if(newPic == 1) { document.getElementById('prev').disabled=true } else { document.getElementById('prev').disabled=false } if(newPic == totalPic) { document.getElementById('next').disabled=true } else { document.getElementById('next').disabled=false } } function cyclePic() { setTimeout("cycle()", 5*1000) } function cycle() { // Ta funkcja odpowiada za "slideshow" if(!stopIT) { if(document.getElementById('pic').complete) { // Tu tkwi problem, bo skrypt się nie zatrzymuje... może źle dobieram parametr? newPic++ if (newPic == totalPic + 1) { newPic = 1 stopIT=true document.pic.src=Galimg[newPic] refreshCounter() document.getElementById('play').disabled=false document.getElementById('stop').disabled=true } else { document.pic.src=Galimg[newPic] refreshCounter() setTimeout("cycle()", 5*1000) } } else {setTimeout("cycle()", 1000)} } }
Po dane proszę zajerzeć do źródła podanego wyżej.
Proszę o pomoc :/
Teoretycznie najlepiej działa na operze... ff i ie6-7 wolniej ładują i olewają .complete :/
Zmieniłem trochę kod... (na stronie)