WilleBMedlem sedan okt. 200934 inlägg Ja försöker fixa en liten countdown här, nån snäll grabb som kan hitta felet?
<script language="javascript">
function startclock() {
var mins = document.getElementById("minutes").value;
var secs = document.getElementById("seconds").value;
if (mins == 0) {
if (secs == 0) {
mins--;
var secs = 60;
}
secs--;
document.getElementById("minutes").value=mins;
document.getElementById("seconds").value=secs;
document.getElementById("counter").innerHTML="<h3>"+mins+":"+secs+"</h3>";
setTimeout("startclock()",1000);
}
}
</script>
Känns som du saknar en hel del kod.
koden kommer förmodligen aldrig att köras om inte mins är 0, sen kan du optimera koden rätt så ordentligt.
thoor1Medlem sedan maj 20115 inlägg <html>
<body>
<form name="cform">
<input type="text" name="disp" size=28 style="width: 300px;">
</form>
<script type="text/javascript">
/* Detta script finns att hämta på http://www.jojoxx.net och
får användas fritt så länge som dessa rader står kvar. */
var year = 2012;
var month = 05;
var day = 3;
var hour = 14;
var minute = 00;
var second = 0;
// Do not edit lines below.
var then = new Date(year,month-1,day,hour,minute,second);
function runMany(){
var now = new Date();
if (now < then){
var days = Math.floor((then-now)/(1000*60*60*24));
var hours = Math.floor((then-now-days*1000*60*60*24)/(1000*60*60));
var mins = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60)/(1000*60));
var secs = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60)/(1000));
var tsecs = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60-secs*1000)/(100));
document.cform.disp.value = days + " dagar, " + hours + " timmar, " + mins + " minuter, " + secs + ":" + tsecs + " sekunder";
}
setTimeout("runMany();",100);
}
runMany();
</script>
</body>
</html>
WilleBMedlem sedan okt. 200934 inlägg Okej, jag fick de att fungera nu.
Märkte inte ens att det stod == 0 istället för !== 0 :p
Postar koden ifall nån vill ha den :)
<html>
<head>
<script language="javascript">
function startclock() {
var mins = document.getElementById("minutes").value;
var secs = document.getElementById("seconds").value;
if (mins > -1) {
if (secs == 0) {
mins--;
var secs = 60;
}
secs--;
document.getElementById("minutes").value=mins;
document.getElementById("seconds").value=secs;
if (secs < 10) {
var secs = "0"+secs+"";
}
if (mins == -1 && secs == 59) { // Makes the timer not say -1:59 at the end
var mins = "0";
var secs = "00";
}
document.getElementById("counter").innerHTML="<h2>"+mins+":"+secs+"</h2>";
setTimeout("startclock()",1000);
}
}
</script>
</head>
<body onload="javascript:startclock()">
<input type="hidden" id="minutes" value="5">
<input type="hidden" id="seconds" value="0">
<div id="counter"></div>
</body>
</html>