07. april 2017 - 11:47
Der er
1 kommentar
Forøg X med Y i 16 timer
Hej eksperter,
Jeg har nedenstående kode som jeg kan få til at forøge med 1 hvert sekund. Jeg skal dog bruge en løsning hvor tallet øges med 5 hvert sekund. Dette skal den gøre i 16 timer. Herefter skal det tal den står på efter 16 timer, blive stående i 8 timer, hvorefter scriptet skal starte forfra.
Håber det giver mening.
PFT
//Martin
---------
<body>
Today: <div id="count"></div><br/>
<script type='text/javascript'>
var div = document.getElementById('count');
var yeardiv = document.getElementById('yearcount');
function updateCount() {
var d = new Date();
// set d to midnight
d.setHours(0,0,0,0);
var count = Math.floor( ( new Date().getTime() - d.getTime() ) / 1000 );
div.innerHTML = count;
}
updateCount();
setInterval( updateCount, 1000 );
</script>
</body>
Jeg har prøvet at lave noget som jeg tror er hvad du søger:
//Start tiden
var startTime = new Date();
startTime.setHours(0,0,0,0);
//Nuværende tid
var currentTime = new Date();
currentTime.setHours(0,0,0,0);
var div = document.getElementById('count');
//Pause tid og stop tid
var stopTime = 57600000; //57600000 = 16 timer
var pauseTime = 28800000; //28800000 = 8 timer
function updateCount() {
console.log((currentTime - startTime));
if((currentTime - startTime) < stopTime){
//Tæller tiden 5 sec op
currentTime.setSeconds(currentTime.getSeconds()+5);
//Sætter indhold i div
div.innerHTML = currentTime;
}else{
//Tæller tiden 5 sec op
currentTime.setSeconds(currentTime.getSeconds()+5);
//Genstarter timeren
if((currentTime - startTime) >= (pauseTime+stopTime)){
startTime.setHours(0,0,0,0);
currentTime.setHours(0,0,0,0);
}
}
}
updateCount();
setInterval( updateCount, 1000 );
Du kan jo bare ændre pause og slut tiden for at tjekke om det er hvad du søger :)