Switch to full style
Forum dyskusyjne poświęcone zagadnieniom jezyka HTML i Flash oraz tworzeniu stron WWW.
Odpowiedz

pasek

20 października 2003, o 18:13

Mam pytanie
Jak w samej javie albo w html zrobić pasek który w kodzie będzie miał ustalone ileś sekund i jak te sekundy miną to przejdzie sam do następnej strony ale żeby ten pasek się przesuwał?? :wink:

20 października 2003, o 19:20

bylo juz o tym na forum! jakos nie pamietam gdzie :-(

ale skrypt imitujacy preloader napisany w JS mozesz pobrac tutaj

a wiecej informacji... gdzies na forum. Jak zlokalizuje dam znac... chyba ze ktos z 'dyskutantow' pamieta lub wie gdzie co i jak ;-)

20 października 2003, o 22:56

21 października 2003, o 12:01

21 października 2003, o 21:20

22 października 2003, o 12:53

22 października 2003, o 21:21

Skrypt skraca DIV sto razy po 1% pierwotnej długości za każdym razem. Czyli funkcja "skracania" wywoływana jest sto razy w ciągu ruchu paska. Przy małych czasach (poniżej kilku sekund) wywoływanie powinno być bardzo częste - np. jeśli ustawisz 1s., to skrypt powinien wywoływać się co 10ms. Tymczasem w systemie operacyjnym programy otrzymują czas do dyspozycji niejako po kawałku (procesor jest przecież jeden!) i przerwy w działaniu Explorera (gdy wykonywane są inne programy) są znacznie dłuższe niż te 10ms. W efekcie funkcja wywoływana jest rzadziej i pasek porusza się wolniej. Np. w moim systemie Explorer dostaje czas co ok. 50ms, a więc minimalny czas paska to właśnie ok. 5 sek. Zauważ, że im więcej uruchomisz "zasobożernych" programów, tym ten czas będzie dłuższy, a zatem trudno go jednoznacznie określić (pewnie zależy od komputera, systemu, konfiguracji).

Co zrobić? Skoro nie można częściej wywoływać, pozostaje zmniejszyć ilość kroków. Jeśli kroków będzie 10, a nie 100, to minimalny czas wyniesie jakąś sekundę:

<SCRIPT TYPE="text/Jscript" LANGUAGE="JScript">
var iC=1; //czas w sekundach;
var sA='strona2.htm'; //adres do przejścia;
var oPS=idPasek.style;
var oT1=setInterval('if(oPS.posWidth<=0){location=sA;};oPS.posWidth-=10;',iC*100);
</SCRIPT>

Szybkość paska określają dwie ostatnie liczby (tutaj: 10 i 100). Pierwsza określa o ile procent pasek powinien być skracany za każdym razem (w tym przypadku o 10). Druga określa czas pomiędzy wywołaniami w ms (tutaj: 100). A zatem pierwsza liczba jest równa 100/(ilość_żądanych_kroków), a druga 1000/(ilość_żądanych_kroków). Np. jeśli chcesz, aby kroków było 20, to pierwsza wartość wyniesie 5, a druga 50.

Wzystko jasne?

Pozdrawiam
Paweł Rajewski

23 października 2003, o 07:15

Dzięki :wink:
Jednak nie zabardzo rozumiem ale dobrze ze działa.

23 października 2003, o 09:10

23 października 2003, o 22:53

24 października 2003, o 11:09

24 października 2003, o 18:47

Dlaczego wszyscy robią dla MSIE.
użytkownik Mozilli

24 października 2003, o 22:12

Odpowiedz