| 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: 15 let
|
|||
0