| Autor | Zpráva | ||
|---|---|---|---|
| leorond Profil |
#1 · Zasláno: 23. 2. 2016, 14:53:48
Ahoj, mám takový jeden dotaz který se týká Opakovaného odpočtu času a hlášky
Mám takovíto script var vterina = 1000;
var minuta = vterina * 60;
var hodina = minuta * 60;
var den = hodina * 24;
var rok = den * 365.24219;
var slova = {
roku: ["rok", "roky", "let"],
dnu: ["den", "dny", "dnů"],
hodin: ["hodina", "hodiny", "hodin"],
minut: ["minuta", "minuty", "minut"],
vterin: ["vteřina", "vteřiny", "vteřin"]
};
function sklonovani(pocet, co) {
if (pocet == 1) return slova[co][0];
if (pocet < 5 && pocet > 0) return slova[co][1];
return slova[co][2];
}
function odpocet(el) {
var konec = new Date(el.getAttribute("data-konec"));
var ted = new Date();
var rozdil = konec - ted;
if (rozdil < vterina) {
el.innerHTML = el.getAttribute("data-hlaska");
return;
}
var zbyva = {
roku: Math.floor(rozdil / rok),
dnu: Math.floor(rozdil % rok / den),
hodin: Math.floor((rozdil % den) / hodina),
minut: Math.floor((rozdil % hodina) / minuta),
vterin: Math.floor((rozdil % minuta) / vterina)
}
var vypis = el.getAttribute("data-zbyva");
for (co in zbyva) {
var pocet = zbyva[co];
if (pocet > 0) vypis += " " + pocet + " " + sklonovani(pocet, co);
}
el.innerHTML = vypis;
setTimeout(function() {
odpocet(el);
}, vterina);
}<p id="odpocet" data-konec="02/23/2016 14:46:30" data-hlaska="Čas vypršel!" data-zbyva="Do odpočtu zbývá:"></p>
<script>
odpocet(document.getElementById('odpocet'));
</script>Je to script který mi odpočítá čas a napíše hlášku "Čas vypršel". Já bych ho potřeboval upravit tak aby se za odpočítávaným časem pokud bude zbývat 5 minut ukázal text a zároveň aby po dokončení odpočtu se celý cyklus sám obnovil. Vím že je potřeba udělat jen několik podmínek ale jsem v tom začátečník a potřeboval bych v tom poradit. děkuji |
||
| leorond Profil |
Tak jsem si o tom něco přečetl a zkusil jsem to sám. Vznikl mi script který funguje dobře ale někde tam mám asi chybu a nemohu jí najít.
Po uplynutí 55 minut v XX:25 se vypíše místo času OPEN a po uplynutí zbývajících 5 minut se resetuje čas. Ovšem po resetování času se neukáže čas který se ukázat má, má se ukázat odpočet 54 minut a 59 sekund ale zobrazí se 90 minut a po obnovení stránky se to srovná na správný čas. Můj nový script <span><? echo bc_start;?>: </span>
<span id=bctime>
<script type="text/javascript">
var acum = new Date();
var minutes = acum.getMinutes();
var seconds = acum.getSeconds();
bcstart = minutes * 60 + seconds;
if (minutes > 30) doin = 3600 - bcstart;
else doin = -bcstart;
bc = doin + 25*60;
function bceventtime()
{
bc = bc - 1;
if (bc < -5*60)
{
bc = 3600 + 30*60;
bc = bc-1;
}
min = Math.floor(bc/60);
sec = bc%60;
if (min < 0)
{
document.getElementById("bctime").innerHTML = "<? echo open; ?>";
}
else
{
if (min < 10) min = "0"+min;
if (sec < 10) sec = "0"+sec;
document.getElementById("bctime").innerHTML = min+":"+sec;
}
window.setTimeout("bceventtime()",1000);
}
bceventtime();
</script>
</span>Mohl by mi někdo pomoci toto napravit? Poradit kde dělám chybu? Děkuji |
||
|
Časová prodleva: 10 let
|
|||
0