Strona 1 z 1

pasek

PostNapisane: 20 października 2003, o 18:13
przez dataz
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:

PostNapisane: 20 października 2003, o 19:20
przez LEMUR
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 ;-)

PostNapisane: 20 października 2003, o 22:56
przez Wydra707

PostNapisane: 21 października 2003, o 12:01
przez dataz

PostNapisane: 21 października 2003, o 21:20
przez Wydra707

PostNapisane: 22 października 2003, o 12:53
przez dataz

PostNapisane: 22 października 2003, o 21:21
przez Wydra707
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

PostNapisane: 23 października 2003, o 07:15
przez dataz
Dzięki :wink:
Jednak nie zabardzo rozumiem ale dobrze ze działa.

PostNapisane: 23 października 2003, o 09:10
przez dataz

PostNapisane: 23 października 2003, o 22:53
przez Wydra707

PostNapisane: 24 października 2003, o 11:09
przez dataz

PostNapisane: 24 października 2003, o 18:47
przez Użytkownik
Dlaczego wszyscy robią dla MSIE.
użytkownik Mozilli

PostNapisane: 24 października 2003, o 22:12
przez Wydra707