Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAJAX]Ładowanie obazka
Forum PHP.pl > Forum > XML, AJAX
Mystic007
Witam! Mam problem: chcę załadować obrazek przed wyświetleniem go i tu pojawił się problem. Używam takiego kodu [advAJAX]:
  1. function load(img) {
  2.            advAJAX.get({
  3.                url : img,
  4.                onSuccess : function(obj) {tx('<img src="'+img+'" />'); },
  5.                onError : function(obj) { tx("Error"); }
  6.            });
  7. }

img - adres do obrazka
tx(); - f. wstawiająca do diva podany string.

Mimo, że coś się ładuje to i tak gdy obraz pojawi się w divie nie jest wczytany do końca lub nie jest wczytany wcale. Czy dobrze kombinuję? Jak to można zrobić?
Cezar708
Szczerze mówiąc nie rozumiem dlaczego zastosowałeś tutaj ajaxa.

Dlaczego po prostu w HTML nie wstawisz

  1. <img src="link_do_obrazka_01" id="moj_obrazek">


Chodzi o to ze jak obrazek się ładuje to ma się coś dziać czy może po prostu będzie ten obrazek zmieniany, wtedy też nie musisz używać AJAXa, wystarczy po prostu wtedy zmienić linka, np:
  1. <script ....>
  2. function pelaceImage(new_src){
  3. document.getElementById('moj_obrazek').src = new_src;
  4. }


kod, który Ty napisałeś nie będzie zrozumiały przez przeglądarkę, bo to jest po prostu requst do obrazka, a to co wstawiasz na onSuccess to jest do niego po prostu link, czyli przeglądarka drugi raz wykona tego requesta.

Napisz co ma ten skrypt robić, może łatwiej będzie Ci pomóc
Mystic007
Nie worriedsmiley.gif U Ciebie nie wykrywa czy obraz został wczytany do końca. Mało tego gdy podany obraz zostanie wczytany daje znać do reszty skryptu by wystartował. A na samym końcu skryptu obraz ma się pojawić. Tą właśnie resztę mam, ale nie mam tego ładowania img, więc dalej proszę o pomoc =]
Vogel
o boze. a po co AJAX? chyba nie rozumiesz do czego sluzy ta technologia. to co chcesz osiagnac mozesz zrobic przy pomocy onload i onerror.

  1. <img src="URL" onload="alert('zaladowano: '+this.src+'')" onerror="alert('błąd: '+this.src+'')" />
chomiczek
Ja sie podepnę, bo mam podobny problem, tzn. po wybraniu jakiejś opcji zmienia mi się m.in zdjęcie na stronie
  1. onSuccess : function(obj) { document.getElementById(obj.tag).innerHTML = obj.responseText; },

plik PHP, do którego wysyłam zapytanie wszstko zwraca ładnie, zwracając zdjecie zwraca mi
  1. <img src="img/test.jpg" style="width:440px; height:227px;" alt="" />

problem jest z samym pokazywaniem, a mianowicie mam ustawioną akcje onLoading (preloader), problem polega na tym, że np. preloader znika (czyli de facto zdjęcie zostało wczytane), ale muszę chwilę odczekać, żeby zobaczyć dopiero to zdjecie.. jest to o tyle wkurzające, ze znika preloader i tak naprawde nic nie widać.. (nie wiadomo co się dzieje)
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.