Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] ext gin onload
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam,


zacząłem korzystać z biblioteki Ext js i zrobiłem sobie stronkę która zawiera kilka elementów ale długo się łąduje, dlatego chcę dodać do tego gifa onload zanim pokaże się zawartość

Zrobiłem coś takiego :

[JAVASCRIPT] pobierz, plaintext
  1. Ext.onReady(function(){
  2. window.onload = function(){
  3. var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
  4. myMask.show();
  5. loginWindow.show(this);
  6. }
  7. });
[JAVASCRIPT] pobierz, plaintext


gdzie loginWindow.show(this); to cała zawartość strony
myMask to gif loading

No i teraz jak wywołuję stronę to dopiero po załadowaniu wyświtla się i okno, i loading gif, a wiadomo że najpierw powinien być gif a gdy się całość załaduje to gif znika i pojawia się zawartość....wiecie jak to przerobić ?
erix
window.onload jest przecież wyzwalane, kiedy wszystko zostanie załadowane. Nie używaj window.onload, tylko wklej bezpośrednio obrazek do drzewa DOM albo wręcz ustaw warstwę przysłaniającą całość, jeśli to jest aplikacja w całości uzależniona od JS.

Dopiero wtedy, przez window.onload chowaj tego gifa.
Wolfie
Szczerze mówiąc nie mam pojęcia jak to zrobić.....przecież nic mi się nie pokże zanim DOM nie jest gotowy, tzn, można prosić o jakiś przykład czy coś, bo nie moge znaleźć nic w googlach na ten tamat a juz szperam i szperam....
nospor
Kod
<body>
Tu obrazek pokazujacy ze  cos sie laduje, a w kodzie js dopisz zdarzenie onload ktore schowa ten obrazek czego tu nie rozumiec;)

a tu normalny kod html co miales do tej pory
</body>
Wolfie
Ah, teraz rozumiem smile.gif


Ja to chciałem zrobić jakims cudem za pomocą biblioteki Ext js, bo robimy projekt za pomocą tej bibliteki i lepiej byłoby jeśli zrobiłbym to za jej pomocą, ktoś może się orientuje jak to zrobić ?

Chodzi o to że widoki w ZF będązupełnie puste i będą tylko zawierały ścieżkę do pliku js który będzie wyświetlał całą zawartość, więc zależy mi żeby zrobić to jakoś w Ext js, myslicie że da rade ?

--------------------------------------

to jest zrobione tak :

plik widoku zend frameworka .xhtml :

  1. <?php echo $this->headScript()->setFile($this->baseUrl().'/scripts/ext/adapter/ext/ext-base.js') ?>
  2. <?php echo $this->headScript()->setFile($this->baseUrl().'/scripts/ext/ext-all-debug.js') ?>
  3. var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
  4. myMask.show();
  5. <?php echo $this->headScript()->setFile($this->baseUrl().'/scripts/test.js') ?>



No i jak widać ostatnia linijka to załączony skrypt javascript ext którego wywołanie wygląda tak :

[JAVASCRIPT] pobierz, plaintext
  1. Ext.onReady(function(){
  2. vp.render();
  3. myMask.hide();
  4. });
[JAVASCRIPT] pobierz, plaintext


Gdzie vp to jest tzw Viewport zawierający całość strony wygenerowanej za pomocą js

więc vp.render() to wygenerowanie całości strony\
no i dalej próbuje schować obrazek.

No ale działanie wogóle nie odnosi skutku,

Obrazek pokazuje się dopiero po załadowaniu całości strony i nawet się nie chowa......
erix
Cytat
bo robimy projekt za pomocą tej bibliteki i lepiej byłoby jeśli zrobiłbym to za jej pomocą, ktoś może się orientuje jak to zrobić ?

Jak chcesz zrobić to za pomocą ExtJS, skoro nie jest ta biblioteka jeszcze wczytana? Funkcje rdzenia JS masz w przeglądarce, nie trzeba ich z zewnątrz ładować w przeciwieństwie do ExtJS (tak samo jak i każdego innego frameworka).

Musisz wstawić tego loadera ręcznie, bo jeśli obarczysz tym ExtJS, to obrazek w ogóle się nie pojawi.
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.