Javascript Coundown Code zeigt nichts an?

Shorty1968

Erfahrenes Mitglied
Hallo ich möchte mir Folgender Javascript erweiterung erreichen das in meinem Shop die Tage,Std usw angezeigt werden bis bei Bestellung der Versand erfolgt.
Code:
new Date("<? echo date("M d, Y H:i:s"); ?>"); // <-- Serverzeit
//var Zeit = new Date(); <-- Clientzeit zum testen
var ServSec = Zeit.getSeconds();
var deadline = 14 // Uhr
// Feiertage : An folgenden Tagen die Versandcountdownbox auf Produktseiten ausblenden (Bei Feiertagen berücksichtigen die Box schon am Vortag ausblenden zu lassen)
var allefeiertage = [
// ALLE FEIERTAGE NRW!
"2018-03-29", // DONNERSTAG Ein Tag vor Karfreitag                      2018
"2018-03-30", // FREITAG        Karfreitag                                              2018
"2018-03-31", // SAMSTAG        vor Ostermontag                                 2018
"2018-04-01", // SONNTAG        vor Ostermontag                                 2018
"2018-04-02", // MONTAG         Ostermontag                                             2018

"2018-04-30", // MONTAG         vor Tag der Arbeit                              2018
"2018-05-01", // DIENSTAG       Tag der Arbeit                                  2018

"2018-05-09", // MITTWOCH       Ein Tag vor Christi Himmelfahrt 2018
"2018-05-10", // DONNERSTAG Christi Himmelfahrt                         2018

"2018-05-18", // FREITAG        vor Pfingstmontag                       2018
"2018-05-19", // SAMSTAG        vor Pfingstmontag                       2018
"2018-05-20", // SONNTAG        vor Pfingstmontag                       2018
"2018-05-21", // MONTAG         Pfingstmontag                   2018

"2018-05-30", // MITTWOCH       Ein Tag vor Fronleichnam                2018
"2018-05-31", // DONNERSTAG Fronleichnam                                        2018

"2018-10-02", // DIENSTAG       vor Tag der Deutschen Einheit   2018
"2018-10-03", // MITTWOCH       Tag der Deutschen Einheit               2018


"2018-10-31", // MITTWOCH       ein Tag vor Allerheiligen               2018
"2018-11-01", // DONNERSTAG Allerheiligen                                       2018


"2018-12-24", // MONTAG         Heiligabend                                             2018
"2018-12-25", // DIENSTAG   1. Weihnachtstag                            2018
"2018-12-26", // MITTWOCH   2. Weihnachtstag                            2018

"2018-12-31", // MONTAG         Silvester                                               2018
"2019-01-01"  // DIENSTAG       Neujahr                                         2018
//Im Letzten Wert des Arrays KEIN KOMMA!
];
function countdown() {
var Stunden = 23-Zeit.getHours();
var Minuten = 59-Zeit.getMinutes();
var Sekunden = 60-Zeit.getSeconds()-1;
var Stunden = Stunden+deadline;
if (Sekunden==60) { Sekunden=0; }
if (Minuten==60) { Minuten=0; }
if (Stunden == 0) Stunden = "00";
if (Stunden == 24) Stunden = "00";
if (Stunden >= 25) Stunden = Stunden-24;
if (Stunden <= 9 && Stunden != "00") Stunden = "0"+Stunden;
if (Minuten <= 9) Minuten = "0" + Minuten;
if (Sekunden <= 9) Sekunden = "0" + Sekunden;
if (Stunden == "00") {
    var Stundenfull = "</span>";
} else {
    var Stundenfull = Stunden+"</span> Std. ";
}
if (Stunden == "01") {
    var Stundenfull = "1</span> Std. ";
}
if (Stunden == "02") {
    var Stundenfull = "2</span> Std. ";
}
if (Stunden == "03") {
    var Stundenfull = "3</span> Std. ";
}
if (Stunden == "04") {
    var Stundenfull = "4</span> Std. ";
}
if (Stunden == "05") {
    var Stundenfull = "5</span> Std. ";
}
if (Stunden == "06") {
    var Stundenfull = "6</span> Std. ";
}
if (Stunden == "07") {
    var Stundenfull = "7</span> Std. ";
}
if (Stunden == "08") {
    var Stundenfull = "8</span> Std. ";
}
if (Stunden == "09") {
    var Stundenfull = "9</span> Std. ";
}
var Zeitausgabe = "<span class=\"countdownstunden\"><span class=\"countdownpointer\">" + Stundenfull + "<span class=\"countdownminuten\"><span class=\"countdownpointer\">" + Minuten + " </span> Min. </span>";
Uhrzeit.innerHTML = Zeitausgabe;
var weekdays = new Array();
weekdays[0] = "Sonntag";
weekdays[1] = "diesen Montag";
weekdays[2] = "diesen Dienstag";
weekdays[3] = "diesen Mittwoch";
weekdays[4] = "diesen Donnerstag";
weekdays[5] = "diesen Freitag";
weekdays[6] = "Samstag";
weekdays[7] = "diesen Montag";
var current_date = new Date("<? echo date("M d, Y H:i:s"); ?>"); // <-- Serverzeit
//var current_date = new Date(); <-- Clientzeit zum testen
if (Stunden<deadline)
weekday_value = current_date.getDay()
else
weekday_value = current_date.getDay()+1
if (weekday_value==6)
weekday_value = 7
if (weekday_value==0)
weekday_value = 7
if (Stunden<deadline&&weekday_value==6&&weekday_value==0)
Tagangabe.innerHTML = ""
else
Tagangabe.innerHTML = weekdays[weekday_value]
ServSec++;
if (ServSec > 60) { ServSec = 1; }
Zeit.setSeconds(ServSec);
setTimeout("countdown()", 1000);
function isoDateString(d){
  function pad(n){return n<10 ? '0'+n : n}
  return d.getFullYear()+'-'+
    pad(d.getMonth()+1)+'-'+
    pad(d.getDate())
}
var today = new Date("<? echo date("M d, Y H:i:s"); ?>");
Array.prototype.contains = function(elem)
{for (var i in this)
{if (this[i] == elem) return true;}
return false;};
var b = isoDateString(today);
if (allefeiertage.contains(b))
document.getElementById("versandcountdown").style.display = "none";
else
document.getElementById("versandcountdown").style.display = "block";
};
window.onload = countdown;
</script>
<?php
}
?>
HTML:
<div id="versandcountdown">
Innerhalb von <span id="Uhrzeit"><span class="countdownstunden"><span class="countdownpointer">00</span> Std. <span class="countdownminuten"><span class="countdownpointer">00 </span> [URL='http://www.php.net/min']Min[/URL]. </span></span></span>
bestellen, Versand <span id="Wann"></span>
<span id="Tagangabe">wird berechnet...</span>
</div>
Was habe ich Falsch gemacht,die Browser Konsole zeigt mir keinen fehler an.

https://schnaepchenpiet.shop/PC-Zubehoer/P706-Android-4-4-4-Mini-Tablet::3.html
 
Lösung
Denk dran das du den Link ändern mußt aus den Code. Den Original Link der api muß da rein. Von mein Adresse geht das nicht weil der CORS dann meckert.

Zeigt der Link aus post23 auch nur 00 an ?
Hast du mal geschaut ob der Code bei Codepen zumindest funktioniert1

Link zur Lösung

Bei mir steht jetzt
3 Std. 46 Min. bestellen, Versand diesen Freitag
Also passt perfekt. Man könnte noch Sekunden rein bauen damit sieht das der Timer auch läuft.Aber ansonsten lief dein anfangs Script ja soweit ganz gut
Ist es egal wo genau ich deinen code setze,wenn ja wird nichts angezeigt?

Ich nutze den Firefox version 62.0 64bit.

*EDIT*
Im Opera geht der Countdown ohne Probleme.
 
Zuletzt bearbeitet:
Ich nutze den Firefox version 62.0 64bit.

*EDIT*
Im Opera geht der Countdown ohne Probleme.
Ich habe jetzt alle meine Browser getestet und überall läuft es. Muß aber dabei sagen das meine Browser etwas älter sind ( 1 Jahr ) weil ich keine Updats mehr gemacht habe ( Wird mal Zeit mein Opera spinnt schon ).
Vieleicht sollten auch mal andere Leute testen und kucken ob es bei ihn läuft ,damit wir mal den Fehler eingrenzen können. Wenn bei irgendein Browser von mir der Code jetzt nicht gelaufen hätte, dann hätte ich Fehler debuggen können. Doch in den fall muß ich sagen das es ( LEIDER ) in allen Browser läuft und ich da so nicht weiter komme.

Auch blöd, normalerweise freut man sich ja wenn es in allen Browsern läuft.

Vieleicht hat ja noch wer anders eine idee weil so langsam fallen mir keine Ideen mehr ein
 
Na ja wir wissen nun immer hin das der Code im Neusten Firefox nicht Funktioniert,da er bei mir in anderen Browser auch Funktioniert nur schade das wir nicht raus finden woran es liegt und er dann auch im Neusten Firefox gehen würde.

Aber man kann auch nicht alles haben leider,ich danke dir viel mals für deine Hilfe.
 
Ich mache nachher mal Update von mein Firefox( Wird mal Zeit ) und versuche dann mal zu kuckenwo der Fehler liegen könnte. Normalerweise ist ja der IE Browser der immer stress macht ,aber jetzt der neuste Firefox ist auch irgendwie komisch.
Vieleicht hat ja noch wer anders nee Idee. Ich versuche das später mal und melde mich dann heute abend. Bis dahin , schönen Tag noch und genießt die Sonne( Aktuell 23 Grad bei uns ):
 
Vielen dank für deine Mühe ja da gebe ich dir recht das er Komisch ist er Zickt auch sehr rum der Firefox,aber ich habe ihn auch Hauptsächlich weil der Inspector und Reponsiv Test mit Bildschirm Grösse im Firefox mir schon viele geholfen hat,die Entwickler Tool finde ich unschlagbar bietet noch kein anderer Browser in der Form.

Aber mir ist in dem Code noch ein anderes problem aufgefallen z.b. steht ja da 9 std 10 min bestellen versand diesen Dienstag" , bei mir ist es aber so eingestellt oder der Versand bis 13 Uhr bestellt wird und das Geld da ist,das wären keine 9 Std,kann ich das irgendwo anpassen?
 
Wie meinst du das genau?
Wenn du vor 13Uhr bestellst ,dann wird eine andere Zeit berechnet . Ich habe mir den Code noch gar nicht so genau angekuckt wann er wie was berechnet.
Was soll er den genau machen? Um wie viel Uhr ist den der Timerauf 00.00.00
 
Das mit der Zeit anpassen verstehe ich nicht ganz weil das bei mir irgendwie richtig anzeigt. Bin gerade dabei für mich auch sowas in der art zu bauen mit Api. Der liest die Feiertage automatisch aus der Api aus und vergleicht die dann. Vieleicht wäre das auch was für dich.
Ich muß aber sagen das Zeit rechnung voll nicht mein ding ist. Ich kriege den übergang vom 30/31 aus den ersten nicht hin ,weil die Monate ja mal 30 oder 31 Tage habe. Gibt es dafür ein Trick ? Habe schon an arrays gedacht ,doch woher bekomme ich die anzahl der Tage von Februar raus ,weil die ändern sich ja alle 4 Jahre.

Aber gut das du es nochmal sagst wegen den Firefox Update. Hatte gerade viel zu tun und hatte das vergessen. Aber mache ich heute noch.
 
Zurück