| Autor | Zpráva | ||
|---|---|---|---|
| donald21 Profil |
Zdravím všechny,
našel jsem tedy nebo i jinde plno javascriptů, které odpočítávají čas. To je super, ale já bych potřeboval něco navíc. Vybral jsem si tento JS: <span id='cas'></span>
<script>
var x = new Date(2012,03,11,20,00,00);//11.3.2012 20:00:00 UTC (nie 23.10) + oprava zobrazenia podľa časového pásma (čas treba zadať v UTC)
window.setInterval(function(){window.document.getElementById('cas').innerHTML=(new Date(x-new Date())).toLocaleTimeString();},1000);
</script>Kód mi funguje na 100 %, ale... JS ještě moc neumím, a proto byc chtěl poprosit, aby mi kód někdo upravil tak, aby se po vypršení limitu (tzn. když bude ukazatel ukazovat: 0:00:00) odpočet skryl a stránka refreshovala (nebo přesměrovala na jinou). Pozn. když je čas na 0:00:00 a uběhne další sekunda tak časomíra běží od 23:59:59 a je to zase celé znovu. Hlavní otázka je: Jak stránku refreshnout nebo přesměrovat po vypršení limitu? Děkuji za pomoc. //EDIT: neusí to být nutně přes ten JS co jsem vložil, kdyby někdo věděl jak to udělat |
||
| Bronzi Profil |
#2 · Zasláno: 11. 3. 2012, 23:03:34
Zkus něco takového:
<span id='cas'></span>
<script>
var x = new Date(2012,03,11,20,00,00);//11.3.2012 20:00:00 UTC (nie 23.10) + oprava zobrazenia podľa časového pásma (čas treba zadať v UTC)
var interval = window.setInterval(function(){var rozdil = x-new Date(); if(rozdil == 0){ clearInterval(interval); location.reload(true); } window.document.getElementById('cas').innerHTML=(new Date(rozdil)).toLocaleTimeString();},1000);
</script> |
||
| donald21 Profil |
Podle kódu jsem pochopil co by to mělo udělat, ale neprovedlo se to. Čas se mi opět přetočil na 23:59:59 a počítá se znovu, stránka se také nenačetla znovu. I když jsem stránku refreshnul znovu ručně, tak se čas odpočítával od začátku.
|
||
| Chamurappi Profil |
#4 · Zasláno: 12. 3. 2012, 11:02:58
Reaguji na Bronziho:
„if(rozdil == 0)“ Šance, že se při sekundovém intervalu trefíš na milisekundu přesně, je docela malá, takže by tam mělo být menšítko. Reaguji na donalda21: „new Date(2012,03,11,20,00,00)“ To je 11. dubna. Nedoporučuji psát jednociferné měsíce s nulou, značí osmičkovou soustavu, takže 08 může být 0.
|
||
|
Časová prodleva: 3 roky
|
|||
| Endy Profil * |
#5 · Zasláno: 25. 5. 2015, 19:38:46
Prosím vás,
jak mám nastavit na INPUT vynulování odpočtu? viz níže <body>
<form action="sss.html" method="post" name="pocitadlo" id="odpocet" accept-charset="utf-8" class="odpoc">
<font size="4">
<div class="CountDown" data-date="2015-5-27 20:15" data-notexpired="Do konce odpočtu zbývá:" data-expired="Čas vypršel!" style="
width: 300px;
"></div>
<script>
window.onload = function (time) {
loadCountDowns();
}
function loadCountDowns(){
elements = document.getElementsByClassName("CountDown");
countDowns = new Array();
for (var i = 0; i < elements.length; i++) {
countDowns[i] = new CountDown(elements[i]);
countDowns[i].Refresh();
setInterval("countDowns["+i+"].Refresh()", 1000);
}
}
function CountDown(element){
this.element = element;
this.date = new Date(this.element.dataset.date.replace(new RegExp(/-/g), "/"));
this.notExpiredLabel = typeof this.element.dataset.notexpired == "undefined" ? "" : this.element.dataset.notexpired;
this.expiredLabel = typeof this.element.dataset.expired == "undefined" ? "" : this.element.dataset.expired;
this.Refresh = function(){
var diff = Math.round((this.date.getTime() - new Date().getTime()) / 1000);
if(diff <= 0){
this.element.innerHTML = "<span class='expirationLabel'>" + this.expiredLabel + "</span>"
}
else{
var s = diff % 60;
var m = (diff - s) / 60 % 60;
s = new TimePart(s, "secs", ["sekunda", "sekundy", "sekund"]);
m = new TimePart(m, "mins", ["minuta", "minuty", "minut"]);
this.element.innerHTML = "<span class='expirationLabel'>" + this.notExpiredLabel + "</span><span class='countdowning'>" + m.formatedPart + s.formatedPart + "</span>";
}
}
}
function TimePart(number, className, labels){
this.number = number;
this.twoDigitNumber = "<span class='number'>" + (this.number < 10 ? "<span class='leadingZero'>0</span>" : "") + this.number + "</span>";
this.label = "<span class='label'>" + (this.number == 1 ? labels[0] : (this.number < 5 & this.number != 0 ? labels[1] : labels[2])) + "</span>";
this.formatedPart = "<span class='timePart " + className + (this.number == 0 ? " zero" : "") + "'>" + this.twoDigitNumber + this.label + "</span>";
}
</script>
<style>
.CountDown .leadingZero {
display: none;
}
.CountDown .number{
font-size: 100%;
}
.CountDown .timePart{
margin: 5px 5px 0px 0px;
float: left;
width: 135px;
text-align: center;
}
.CountDown .label{
display: block;
color: black;
}
.CountDown {
font-family: Calibri;
height: 100px;
}
.CountDown .timePart, .CountDown .expirationLabel{
background: linear-gradient(to bottom, rgba(167,207,223,1) 0%,rgba(35,83,138,1) 100%);
border-radius: 5px;
padding: 5px;
box-shadow: gray 3px 3px 10px;
}
.CountDown .expirationLabel{
background: linear-gradient(to bottom, rgba(35,83,138,1) 0%,rgba(167,207,223,1) 100%);
display: block;
font-size: 110%;
width: 285px;
}
</style>
</p>
<br>
<p>
<input name="vynulovat" type="reset" onclick="loadCountDowns(0);" value="Přeruš to!!" style="border-radius: 50%; width: 100px; height: 100px; background: rgb(203, 36, 36); /* display: inline-block */">
</p>
</form> |
||
|
Časová prodleva: 11 let
|
|||
0