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
Deine Api hört sich Intressant an,wenn ich sie in meiner Shopsoftware (modified Shop)

Ich würde dir gerne bei dem Problem helfen,aber ich war ja leider schon mit meinen beschrängten Kentnissen mit meinem Code überfordert.nutzen kann klar wäre das was für mich.
 
Habe das gerade mit den Firefox getestet. Habe version 62 runtergeladen und der läuft besser als deralte. Da wahr noch 49 drauf. Aber das Script was ich am Anfang gepostet habe ( mein Link ) läuft da aber auch ohne probleme. Was wahr den bei dir genau ? Nur 0000 oder was wahr das ?
 
Habe mal etwas gebastelt. Kuck doch mal ob du damit was anfagen kannst. Die original api adresse stejt im Quelltext. Die andere Api habe ich Kopiert weilich da für heute und morgen Feiertage erfinden mußte zum testen.
**Link entfernt, weil Seite nicht mehr erreichbar **

Vieleicht kannst du davon was gebrauchen ,oder einen anreiz für dein Script gewinnen.
EDIT: Habe gerade noch die erkennung von Schaltjahren und ob morge der letzte Tag im Monat ist auch noch mit rein gefummelt.
Also ich weiß ja nicht. Wenn man wirklich alles beachten will wie ,Feiertage ,sammstag und sonntage und dann wie weihnachten wo samstag,sonntag und 2 Feiertage hintereinander sein können,wird das Script bestimmt noch länger. Ich habe eigentlich an alles gedacht ( auser 2 feiertage hintereinander ) aber wie ich schon sagte ist Datum rechnerrei nicht mein ding. Wenn vieleicht mal einer von den Profis Zeit hat kann er der das vieleicht umschreiben für dich damit es kürzer wird. Fals es kürzer geht?,aber da ich mit Datum rechnerrei immer durcheinander komme kann ichmir schon vorstellen das es kürzer und einfacher geht.
 
Zuletzt bearbeitet:
Morgen vielen dank für deine mühe,dein Code aus den anderen beiträgen oder deinem ersten Link zeigte bei mir eine 9 std 30 min dauerhaft an ohne das er runter zählte.

Leider zeigt dein API Code nichts an,da kann aber daran liegen das ich nichts ins Template eintragen konnte oder ich weiss nicht was aber deine API sieht gut aus wäre was für mich.

Ich sollte das ganze vielleicht als Link einbinden.
 
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
 
Zuletzt bearbeitet:
Lösung
Sorry muss mich noch mal melden,habe einen fehler gefunden bei mir Zeigt der Code heute am Samstag mit einemal.
4 Std. 03 Min. bestellen, Versand diesen Freitag

Sollte da nicht auch wider Montag stehen?
 
Von welchen Script reden wir den jetzt eigentlich? Von deinen, den ich bei Codepen verlinkt habe (

Javascript Coundown Code zeigt nichts an?



)? Der zeigt falsch an das stimmt.

Oder der Code von mir ( **Link entfernt, weil Seite nicht mehr erreichbar ** ) ? Der zeigt aber Montag an ,also richtig?

Welchen hast du den jetzt in Benutzung ,bzw. welchen willst du den benutzen? Wir hatten hier ja jetzt mehrere Versuche und habe den Durchblick verloren was du jetzt benutzen willst.

Wie auch immer. Den Code zu ändern, dass er Montag anzeigt, sollte nicht das Problem sein
 
Zuletzt bearbeitet:
Zurück