NEWS
Countdown Script hat einen Fehler
-
Hallo,
habe mir diesen Countdown Script von @bahnuhr geklaut. Er hatte den Timer für Minuten und Sekunden geschrieben.
Ich habe versucht ihn in Stunden und Minuten (Restminute in Sekunden) umzubauen.
Leider zeigt er mir im String bei z.B. 1h 30m ---> 1 Std. 90min an.
Was mache ich falsch ?// Countdown mähen 2 Stunden var count,timer; function countdown(){ count--; if(count > 0) { setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown', count); if (count > 60) { var std = parseInt(count/3600); var min = parseInt(count/60); var sek = count - (min*60); setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown', count); setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown2', std + " Std. " + min + " Min."); } else { setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown', count); setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown2', count + " Sek."); } } else { setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countTrigger', false ); } } on({id: "0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countTrigger", change: "ne"}, function(obj){ if(obj.state.val) { count = 7200; // in Sekunden timer = setInterval(countdown, 1000); // 1000 = 1 Sek. ; 60000 = 60 Sek. } else { clearInterval(timer); setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown', 0 ); setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown2', "" ); } });
Vielen Dank und Gruß,
Kaschi -
@kaschi68 sagte: Was mache ich falsch ?
Berechnung:
let std = Math.floor(count / 3600); let min = Math.floor(count / 60 - std * 60); let sek = count - min * 60 - std * 3600;
EDIT: Komplette Funktion:
function countdown(){ count--; let txt = ''; if(count > 0) { let std = Math.floor(count / 3600); let min = Math.floor(count / 60 - std * 60); let sek = count - min * 60 - std * 3600; if(count >= 3600) { txt = std + " Std. " + min + " Min."; } else if(count >= 60) { txt = min + " Min. " + sek + " Sek."; } else txt = count + " Sek."; } else { setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countTrigger', false, true); } setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown', count, true); setState('0_userdata.0.Husqvarna.Timer.Timer_2_Stunden_steuern.2_Stunden.2h_countdown2', txt, true); }
-
@paul53
Klasse, funktioniert 1A. Vielen Dank....