• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odliczanie za pomocą Progress Bar

Object Storage Arubacloud
+2 głosów
970 wizyt
pytanie zadane 5 kwietnia 2015 w JavaScript przez Nolandosky Bywalec (2,110 p.)
Mam progress bar'a (z bootstrapa) chciałbym by po wejściu w pewną podstronę, ten progress bar odliczał mi z 100% do 0% a gdy już było by 0% to strona lub najlepiej div by się odświerzał! (czas od 100% do 0% to od 30 sekund) Podopowie ktoś jak to zrobić i czego użyć, JS, Ajax? Nigdy czegoś takiego nie robiłem a i z JS'a nie jestem za dobry!

3 odpowiedzi

+2 głosów
odpowiedź 5 kwietnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 6 kwietnia 2015 przez Nolandosky
 
Najlepsza

Na pewno trzeba użyć samego HTMLa i do tego JS (lub JQuery). AJAX jest tutaj raczej zbędny bo pozwala on na pobranie danych z jakiegoś innego pliku/skryptu (np. można wywołać jakiś plik PHP wykonać jakieś czynności i zwrócić wynik). Z tego co zrozumiałem nic jest Ci coś takiego potrzebne więc AJAX nie będzie potrzebny.

Co do samego sposobu jak to zrobić to ja zrobiłbym to przy użyciu setInterval. Pozwala to wykonywać daną funkcję co pewien czas:

setInterval(wykonajTaFunkcje(), 1000);

Czas tutaj podajemy w milisekundach (1 sekudna = 1000 milisekund). W tej funkcji musi być coś co będzie obliczało (przeliczało na ilość procentów) i graficznie obrazowało jaki jest już postęp. Może to być po prostu zwykł div ze zmienianą szerokością, można skorzystać z JQuery, które oferuje taki typowy gotowy progressbar: http://jqueryui.com/progressbar/ albo wymyślić jeszcze co innego (z resztą mówisz że już coś masz).

A no i pozostaje jeszcze sprawdzać czy czasem nie minął już cały określony czas - proponuję najpierw ustawić jakąś zmienną z wartością 0 i przy każdym wywołaniu funkcji zwiększać jej wartość. Warunkiem też przy każdym wywołaniu tejże funkcji należy sprawdzić czy wartość zmiennej nie jest większa niż 30 no i jeśli jest znaczy że odliczanie zostalo zakończone. Z odświeżaniem całej strony nie ma żadnego problemu to jest po prostu:

location.reload();

O możliwości odświerzenia jednego diva nie słyszałem... trzeba by podstawić od nowa kod przez JavaScript przy użyciu innerHTML (lub innych metod JQuery) i wtedy mógłby on tak jakby wrócić do stanu początkowego.

Mam nadzieję że zrozumiale wyjaśniłem mój pomysł jakby coś to pytaj :)

komentarz 6 kwietnia 2015 przez Nolandosky Bywalec (2,110 p.)

Jeśli chodzi o JS to wszystko jest nie jasne :P

Mam taki kod Progress Bar

<div class="progress progress-striped active progress-success">
	<div class="progress-bar" style="width: 100%;"></div>
</div>

I muszę zmieniać style żey 100% się zmniejszał ew. może się zwiększać od 0% w sumie to nie ma różnicy. Ale nie ogarniam JS Jquery próbowałem wykorzystać to co podaliście ale nie działa albo nie wiem co z tym zrobić. Jak się nie uda mi tego zrobić, to zrobię tylko licznik który będzie odliczał 30 sekund. 

komentarz 6 kwietnia 2015 przez Arkadiusz Waluk Ekspert (287,950 p.)

No to wystarczy tylko modyfikować szerokość tego diva przez JavaScript:

document.getElementById('progressbar').style.width='100%';

Można nadać mu id i po tym go odnaleźć a następnie modyfikować jego szerokość. Tylko przy każdym wykonaniu funkcji trzeba odpowiednio obliczyć te procenty i podstawić no i tyle ;)

+2 głosów
odpowiedź 5 kwietnia 2015 przez Wirus Stary wyjadacz (14,000 p.)
Poczytaj o $().animate może rozwiąże twój problem. Ustalasz wartości dla elementu i czas trwania, można ustawić funkcję zwrotną to gdy dojdzie do 0% coś się wykona
+1 głos
odpowiedź 5 kwietnia 2015 przez GrzesiekB Gaduła (3,720 p.)
Jeśli czas jest zawsze taki sam (definujesz go w momencie ładowania strony) to prosty licznik countdown JS. Jeśli ma być dynamiczny, np. ładowanie pliku to podpinałem gotowe pluginy - za dużo zabawy było aby to robić po swojemu.

Podobne pytania

0 głosów
1 odpowiedź 229 wizyt
pytanie zadane 12 grudnia 2018 w JavaScript przez Krzysio4224 Obywatel (1,690 p.)
0 głosów
1 odpowiedź 516 wizyt
pytanie zadane 18 września 2015 w JavaScript przez jedrus_91 Użytkownik (760 p.)
0 głosów
1 odpowiedź 489 wizyt
pytanie zadane 5 sierpnia 2021 w HTML i CSS przez Igorek Mądrala (6,290 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...