Autor | Zpráva | ||
---|---|---|---|
Leomato Profil |
#1 · Zasláno: 1. 2. 2011, 17:54:40
takto vyzor: http://img156.imageshack.us/img156/9342/statusf.png
Takže mám tam nastavené čas dostavby napr. 1296580600 (+25 min.). Aktualny čas - čas postavenia = čas stavby. A ja z toho času stavby potrebujem zez JS vypočítať v koĺkých % je budova (to viem urobiť). Ale neviem ako urobiť to aby sa to zobrazilo v takom statusbare a aby to bolo aktualizované bez obnovenia prehliadača. |
||
Witiko Profil |
#2 · Zasláno: 1. 2. 2011, 18:09:15
Leomato:
Progressbar element zatím není štandardný HTML element, musíš využít nějakou knihovnu 3. strany / vytvořit si statusbar vlastní pomocí stylování blokových elementů. Řešení v jquery UI: http://jqueryui.com/demos/progressbar/ Nicméně osobně nedoporučuji používat, jestliže daný framework využiješ jen na tento jeden efekt. |
||
Leomato Profil |
#3 · Zasláno: 1. 2. 2011, 18:10:06
dik
|
||
Chamurappi Profil |
#4 · Zasláno: 1. 2. 2011, 18:21:32
Reaguji na Leomata:
pruh.style.width = n + "%"; cislo.innerHTML = n + " %"; n bude počet procent a pruh a cislo vhodně nastylované elementy. I s časovačem to bude šest řádků, žádná věda…
Reaguji na Witika: „Nicméně osobně nedoporučuji používat“ Já ho nedoporučuji důrazně. Kdyby chtěl použít framework, stačí mu na to bohatě samotné jQuery. |
||
Leomato Profil |
#5 · Zasláno: 1. 2. 2011, 18:28:27 · Upravil/a: Leomato
A prečo cez framework? Veď stačí ak si to vypočíta koľko % to má vypísať za 1 sekundu a proste to prida..
|
||
Witiko Profil |
#6 · Zasláno: 1. 2. 2011, 20:24:17
Leomato:
To je správný duch. :) |
||
Leomato Profil |
#7 · Zasláno: 1. 2. 2011, 21:55:49
duch. ?
|
||
Witiko Profil |
#8 · Zasláno: 1. 2. 2011, 21:59:31
Leomato:
prístup |
||
Leomato Profil |
#9 · Zasláno: 1. 2. 2011, 22:17:23
jáááj :D
|
||
Leomato Profil |
#10 · Zasláno: 1. 2. 2011, 22:43:32
hm... mam asi neco taketo:
<style> #pruh{ width: 100px; background-color: red; height: 20px; } </style> <div id="pruh"> </div> <div id="cislo"></div> <script> var cas=3000; var uplynulo=1; var n=Math.round(uplynulo/(cas/100)); var zasek = (cas/uplynulo); document.getElementById("pruh").style.width = n; document.getElementById("cislo").innerHTML = n + " %"; function zvetsi1() { if(n==100){ } else { n++; } document.getElementById("pruh").style.width = n; document.getElementById("cislo").innerHTML = n + " %"; } window.setInterval("zvetsi1()", 1000); </script> Ale neviem ako mám vypočítať kolko to pripočita za 1 sekundu |
||
joe Profil |
#11 · Zasláno: 1. 2. 2011, 22:58:17
(1000 / 3000) * uplynulo
A to uplynulo budeš zvětšovat o jedničku, takže tam ve funkci zvetsi1 bude uplynulo++ Výsledek toho co jsem napsal bude to, co budeš po každé vteřině přidávat, snad to tak je, ta matematika.. :) |
||
Witiko Profil |
#12 · Zasláno: 2. 2. 2011, 00:21:28 · Upravil/a: Witiko
Leomato:
var pruh = document.getElementById("pruh"), cislo = document.getElementById("cislo"), cas = 3000, uplynulo = 1, n = Math.round(uplynulo / (cas / 100)), zasek = (cas/uplynulo), interval; pruh.style.width = n + "px"; cislo.innerHTML = n + " %"; interval = window.setInterval(zvetsi, 1000); function zvetsi() { if(++n === 100) window.clearInterval(interval); pruh.style.width = n + "px"; cislo.innerHTML = n + " %"; } Rozměry musí mít jednotku (pixely), Funkci setInterval předáváme odkaz na funkci, ne řetězec. Po funkční stránce jsem ti to nekontroloval. |
||
Časová prodleva: 13 let
|
0