Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 'jednoczesne otwieranie jpgow'
Forum PHP.pl > Forum > Przedszkole
bobek
w tabeli mam kilkanascie jpgow,
podczas ladowania stronki otwieraja sie one 'po kolei' - bez ensu to wyglada ;/
moze ktos mi podpowie, co zrobic zeby te jpgi otwieraly sie w tym samym czasie??
dzieki za pomoc exclamation.gif
Daimos
no to raczej nie mozliwe (tak mi sie zdaje, jesli zrozumialem o co Ci chodzi winksmiley.jpg )
mozesz zrobic ladowanie strony, co jest bezsensownym wyjsciem, ale wtedy mialbys grafiki od razu wszystkie wyswietlone
Nickel
Jeśli kilka obrazków to możesz tylko tak jak przedmówca napisał zrobić ładowanie na początku, ale to jest imo wkurzające... Pokaż kod to może znajdziemy inne rozwiązanie.
Sokal
Można zrobić też tak:
Kod
<img src="sciezka.png" width="100" height="150" />

Zamiast:
Kod
<img src="sciezka.png" />


IMHO, ładniej to wygląda winksmiley.jpg
bobek
heh, no dobra, tylko sie nie smiac - jestem poczatkujacy exclamation.gif
napewno jest to malo profesjonalne podejscie, ale trudno
pierwotnie chcialem umiescic np. 9 zdjec na stronie glownej (ma sie zmieniac ich transparentnosc) niektore sa podlinkowane, niestety po odpaleniu strony otwieraja sie 'po kolei' - widac ta tabele z jpgami winksmiley.jpg
dzieki za wszelkie sugestie, jak rozwiazac ten problem, czy wogole zrobic to inaczej, wolalbym pozostac przy tym rozwiazaniu bo mam juz ten skrypt js
  1. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
  2. <link rel="stylesheet" type="text/css" href="moj.css">
  3. </HEAD>
  4.  
  5. nereidFadeObjects = new Object();
  6. nereidFadeTimers = new Object();
  7.  
  8. function nereidFade(object, destOp, rate, delta){
  9. if (!document.all)
  10. return
  11. if (object != "[object]"){ //do this so I can take a string too
  12. setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
  13. return;
  14. }
  15. clearTimeout(nereidFadeTimers[object.sourceIndex]);
  16.  
  17. diff = destOp-object.filters.alpha.opacity;
  18. direction = 1;
  19. if (object.filters.alpha.opacity > destOp)
  20. {
  21. direction = -1;
  22. }
  23. delta=Math.min(direction*diff,delta);
  24. object.filters.alpha.opacity+=direction*delta;
  25.  
  26. if (object.filters.alpha.opacity != destOp)
  27. {
  28. nereidFadeObjects[object.sourceIndex]=object;
  29. nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
  30. }
  31. }
  32. </body>
  33.  
  34. <TABLE WIDTH=880 bgcolor="#E1F0FF" BORDER=2 CELLPADDING=0 CELLSPACING=0 align="center" >
  35. <TR>
  36. <TD><img src="images/1.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  37. <TD><img src="images/2.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  38. <TD><img src="images/3.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  39. <TD><img src="images/4.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  40. </TR>
  41. <TR>
  42. <TD><img src="images/9.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  43. <TD><img src="images/10.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  44. <TD><img src="images/11.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  45. <TD><img src="images/12.jpg" oncontextmenu="return false" galleryimg="no" style="filter:alpha(opacity=100)" onmouseover="nereidFade(this,15,40,10)" onmouseout="nereidFade(this,100,50,5)" width="240" height="180"></TD>
  46. </TR>
  47. </html>
Amorph
@Nickel & my salsa: z chęcią wysłucham waszych za i przeciw. Dlaczego waszym zdaniem preloadery są bezsensowne i wkurzające?

Moje zdanie:
1. Porządne przygotowane poprawiają estetykę strony,
2. Nie ma denerwujących efektów typu zdjęcie do połowy wczytane,
3. Spełniają funkcję informacyjną ile jeszcze trzeba oczekiwać na pojawienie się strony, a nie wyskakują co jakiś czas doczytane fragmenty strony.

Pozdrawiam.
mike
~Amorph podam Ci przykład i sam sobie odpowiedz.
Wolałbyś oglądać film po ściągnięciu całości (powiedzmy po 5min.) skoro wiesz, że możesz zacząć go oglądać już po 10sek. w ramach streamingu?
Odpowiedź jest oczywista.

Preloader możesz stworzyć tylko wczytując wszystkie obrazki do pamięci (wczytane pozostają ukryte i czekają na resztę) a potem odsłonić całość na raz.

Na dzień dobry z Twojej strony rezygnuje połowa internautów, ponieważ wchodzą i zamiast oglądać stronę (tą część, która już się załadowała) musi czekać na całość, ponieważ Ty chcesz się popisać tym, że potrafisz taki preloader zrobić. Tak teraz można szczerze powiedzieć - bez sensu.

Zwróć uwagę też na to że szybkość ładowania będzie zależała od łącza oraz możliwości komutera (JavaScript będzie musiał mielić Twoją stronę) i część uzytkowników może uznać że są jakieś błędy, bądź stwierdzi że nie chce im się czekać.

Pamiętaj, że na zdobycie sympatii internauty masz jakieś 5 sekund.
W takim czasie statystycznie zostaje podjęta decyzja czy zostaję czy idę dalej.

Koleja sprawa to, że preloader spowalnia naturalne odruchy internautów. Ludzie przeglądają strony bardzo szybko, szybciej niż one się ładują. Ty to zablokujesz.

I na koniec.
Zostanie Ci do załadowania jakiś jeden malutki zapyziały gif, który załadować się nie chce (bo łącze, bo coś, bo tak mu się chce). Co zrobisz? Nie pokażesz nic? Pokażesz jednak resztę? Na jakiej podstawie stwierdzisz czy jednak zaniechać ładowania i przerwać preloadera?

P.S.
~bobek zamykam.
Proszę zapoznać się z zasadami pisania na forum Przedszkole a potem przesłać PW z poprawnym tytułem wątku mi bądź innemu moderatorowi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.