Autor | Zpráva | ||
---|---|---|---|
filio Profil * |
#1 · Zasláno: 4. 10. 2010, 10:34:15
Na internetu jsem našel tento script:
<script type='text/javascript'> var i = 30; odpocet(); function odpocet() { if(i > 0) { var text; if((i < 5) && (i > 1)) { text = 'sekundy'; } else if(i == 1) { text = 'sekunda'; } else { text = 'sekund'; } setTimeout("odpocet()", 1000); document.getElementById("cislo").innerHTML = ' Hotovo za ' + i + ' ' + text;i--;} else { document.getElementById("cislo").innerHTML = '<a href="#">vyrobeno</a>'; } } </script> Potřeboval bych ho upravit tak, aby se podle zbývajících sekund zvětšoval obrázek. Tak, aby se i vedle počtu vteřin ukazoval jednoduchý graf, aby se prostě měnil parametr width u obrázku od 0 do 100. Aby například pokud uplyne 25% z celkového času tak, aby měl obrázek width="25" a pokud uplyne 50% z celkového času tak, aby měl width="50" Pokud by byl někdo tak laskavý a pomohl mi. Javascript není moje silná stránka. |
||
LosFilipos Profil |
#2 · Zasláno: 4. 10. 2010, 14:11:13 · Upravil/a: LosFilipos
Můžeš použít například toto:
<script type='text/javascript'> var pocitat_od = 10 // sem je potřeba zadat počet sekund na odpočet var plynulost = 32; // 1000 = progress bar bude "skákat" po sekundách , 24 = plynule; /* Začátek skriptu -------------------------------------------------------------------*/ var koeficient_zmeny = 1000 / plynulost; var pocitat_od = pocitat_od * koeficient_zmeny; var i = pocitat_od; odpocet(); function odpocet() { if(i > 0) { var text, x, k; k = Math.ceil(i / koeficient_zmeny); if((k < 5) && (k > 1)) { text = 'sekundy'; } else if(k == 1) { text = 'sekunda'; } else { text = 'sekund'; } setTimeout("odpocet()", plynulost); x = 100 - ((100*i)/pocitat_od); document.getElementById("cislo").innerHTML = ' Hotovo za ' + k + ' ' + text;i--; document.getElementById("progress_bar").style.width = x + '%'; } else { document.getElementById("cislo").innerHTML = '<a href="#">vyrobeno</a>'; document.getElementById("progress_bar").style.width = '100%'; } } V kódu pak může být něco ve smyslu: <div id="cislo"></div> <div style="width:200px;padding:1px;border:1px solid #FF0000;"> <!-- Tohle je tam jenom proto, aby se omezila šířka toho progress baru... --> <div id="progress_bar" style=height:20px;width:0;background:#FF0000;"> <!-- Progress bar může být div, p, obrázek, atd... --> </div> </div> |
||
Witiko Profil |
#3 · Zasláno: 4. 10. 2010, 18:08:41 · Upravil/a: Witiko
LosFilipos:
Možná něco v tomto smyslu by dodalo na pochopení proměnné plynulost: var snimkuZaSekundu = 30; /* Začátek skriptu -------------------------------------------------------------------*/ var plynulost = 1000 / snimkuZaSekundu; var koeficient_zmeny = snimkuZaSekundu; Řádek 27: setTimeout("odpocet()", plynulost); -> setTimeout(odpocet, plynulost); Místo funkce odpocet se předává function() {odpocet();}, zbytečně vytvořená funkce navíc. Celkově bych ještě veškeré ' přeměnil za ", ale to už je stylistika. |
||
filio Profil * |
#4 · Zasláno: 4. 10. 2010, 18:24:09
Opravdu moc moc děkuju ani jsem nedoufal, že se někdo ozve takhle rychle. Upravil jsem CSS a je to bomba. Ještě jednou moc díky.
|
||
Časová prodleva: 14 let
|
0