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.
3 svar · 1 116 visningar · startad av WilleB
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.
<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>
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>