![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 21.09.2005 Ostrzeżenie: (10%) ![]() ![]() |
Witam, potrzebuję zrobić skrypt w stylu 4shared, który po skończonym odliczaniu pokaże przycisk do pobrania pliku, póki co poskładałem coś takiego, ale chyba nie jest to zbyt zoptymalizowane, bo gdy mamy otwarte więcej kart w Firefoxie, to odliczanie zamula (np. odlicza 15, 7, 0), czasem przycisk pokazuje się przed zakończaniem odliczania itp.:
Co tu można zmienić, by chodziło to lepiej? może połączyć skrypt odliczania z pokazywaniem linka? Z góry dziękuję za wszelką pomoc i pozdrawiam! ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A czytał ty kiedy do czego służy setInterval?
A potem clearInterval? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 21.09.2005 Ostrzeżenie: (10%) ![]() ![]() |
chodzi Ci o to, by na starcie dać setInterval, a po zakończonym odliczaniu użyć clearInterval?
A czytał ty kiedy do czego służy setInterval? pogooglowałem teraz trochę i znalazłem bardzo fajny i bardzie rozbudowany skrypcik odliczania: http://www.java2s.com/Code/JavaScript/Deve...ntdownTimer.htm jednak nie ma on w sobie też metod setInterval() i clearInterval(). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
To, że tam tak zrobili to wcale nie znaczy, że jest dobrze.
timeout słiuży do pojedynczego odliczenia czasu a nie cyklicznego (interval). Nie czyszczenie (clearTimeout, clearInterval) wielu "opóźnień czasowych" powoduje problemy z wydajnością przeglądarki. Wszystko zaczyna chodzić znacznie wolniej. Ten post edytował wookieb 19.12.2010, 19:07:39 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 306 Pomógł: 32 Dołączył: 20.01.2008 Ostrzeżenie: (20%) ![]() ![]() |
Najbardziej optymalny licznik w JavaScipcie korzysta z setInterval oraz różnicy obecnej daty ze znacznikiem danego wydarzenia.
Interval ma za zadanie co sekundę przeliczyć tą różnicę - dzięki temu nie ma opóźnień przy długich czasach (gdyby Interval miał np. odejmować co sekundę 1 od licznika, po kilku minutach miałbyś już opóźnienie o kilka sekund). -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:13 |