Probleme beim Pop Up öffnen an bestimmten Tagen
Schlappy
- javascript
Guten Morgen,
vorab, ich habe null Ahnung von Javascript. Für die Funktion, die ich brauchte, hatte ich einen frei runterladbaren Adventskalender genommen und den verändert.
Leider klappte das nicht so, wie ich wollte. Und wahrscheinlich steht viel Mist im Quellcode.
Kann mir trotzdem jemand weiterhelfen? Die Seite muss ab morgen richtig laufen und ich habe mich gestern schon durch "Selfhtml" gewühlt.
http://www.friedenskirche-ms.de/fastenbrevier_2013/kalender.htm
Die Tage sollen einzeln anklickbar sein - also nur am 13.Februar sollte das Fenster mit dem richtigen Text aufgehen. Am 13. Februar dürfen aber nicht die nachfolgenden Fenster zu öffnen sein - dann sollte eigentlich das Fenster mit der Datei 0.htm aufgehen.
Ich weiß nicht, ob ich irgendwo eine Klammer gelöscht habe, oder so etwas - gestern morgen funzte es noch - klar, die Version habe ich dämlicherweise nicht abgespeichert.
"Alte Tage", also, wenn wir den 14. März haben, dann dürfen die vorhergegangenen Tage geöffnet werden.
Der Quelltext ist das reinste Chaos - sorry ...
kann mir bitte einer weiter helfen?
Der Code war zu lang zum einstellen - läßt sich aber einfach von der Seite runterladen.
Hallo,
Und wahrscheinlich steht viel Mist im Quellcode.
Definitiv.
Die Tage sollen einzeln anklickbar sein - also nur am 13.Februar sollte das Fenster mit dem richtigen Text aufgehen. Am 13. Februar dürfen aber nicht die nachfolgenden Fenster zu öffnen sein - dann sollte eigentlich das Fenster mit der Datei 0.htm aufgehen.
if(monat==1 && nummer < 13)
{
var Info = window.open("0.htm",'Tag','left=10,top=10,screenX=10,screenY=10,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=500,height=300');
return;
}
Deine Bedingung zum Anzeigen von 0.htm ist falsch. Bei Klick auf die 12 würde sie passen, nur ist das ja nicht möglich...
Vermutlich möchtest du diesen Code ohne die Bedingung an das Ende deiner Funktion stellen.
Ich weiß nicht, ob ich irgendwo eine Klammer gelöscht habe, oder so etwas - gestern morgen funzte es noch - klar, die Version habe ich dämlicherweise nicht abgespeichert.
Beschäftige dich mit Versionsverwaltung.
Der Code war zu lang zum einstellen - läßt sich aber einfach von der Seite runterladen.
Mehr Mühe hab ich jetzt nicht reingesteckt, um zu überprüfen, ob alle Tage gehen, der Code ist zu grausam...
vg ichbinich
Hallo,
Mehr Mühe hab ich jetzt nicht reingesteckt, um zu überprüfen, ob alle Tage gehen, der Code ist zu grausam...
Nee, alle Tage gehen einfach nicht ... der 1.April geht gar nicht - notfalls mache ich daraus einen direkten Link - ist ja der letzte Tag.
Am schlimmsten ist noch, dass im März angezeigt wird, dass das Pop Up nicht richtig definiert ist ...
Danke! allein dafür, dass du in den grausamen Code reingeschaut hast.
VG
Schlappy
Hallo,
ich hab dir die Funktion mal ein bischen umgeschrieben (allerdings auf die Schnelle nur für deinen spezifischen Zeitraum), nun sollte es gehen:
function s(nr) {
var datum = new Date(),
monat = datum.getMonth() + 1,
tag = datum.getDate(),
nrHeute = (monat-2)*100 + tag,
tagGewaehlt = nr%100,
monatGewaehlt = Math.ceil(nr/100) + 1,
dateiName = 0;
if(nr <= nrHeute) {
dateiName = tagGewaehlt + '_' + monatGewaehlt;
}
var Info = window.open(dateiName + ".htm",'Tag','left=10,top=10,screenX=10,screenY=10,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=1053,height=800');
}
Am schlimmsten ist noch, dass im März angezeigt wird, dass das Pop Up nicht richtig definiert ist ...
Das liegt daran, dass du im Array descarray die entsprechenden _Indizes_ nicht definiert hast. Schreib besser:
var descarray = new Array();
descarray[13] = 'Text für den 13.2.';
descarray[14] = 'Text für den 14.2.';
...
descarray[107] = 'Text für den 7.3.';
...
descarray[201] = 'Text für den 1.4.';
vg ichbinich
Hallo ichbinich
ist nett von dir, dass du dich des verkorksten Codes annimmst - nur leider übersteigt scheinbar das schon meine Fähigkeiten und nun geht gar nichts mehr.
Wahrscheinlich habe ich irgendwas falsch verstanden, oder an die falsche Stelle gesetzt ?!
Sorry, bin wohl ein hoffnungsloser Fall
und nun habe ich auch noch Termine ...
Danke!
VG
Schlappy
Hallo,
Wahrscheinlich habe ich irgendwas falsch verstanden, oder an die falsche Stelle gesetzt ?!
An die richtige Stelle gesetzt, nur nicht genug ersetzt.
Lösche alles nach der eingefügten Funktion von mir (ab Zeile 127 return;) bis vor folgende Zeile:
// -- Original: Patrick Lewis, mod: W. Jansen
vg ichbinich
Hallo,
ich glaube beim array muss sich auch was falsches eingeschlichen haben ... es geht absolut kein Fensterchen auf :-/ seitdem ich da dran war.
Den Rest habe ich gelöscht, aber nichts passiert.
Nett, dass du dir die Zeit nimmst!
VG
Schlappy
Hallo,
Den Rest habe ich gelöscht, aber nichts passiert.
Nö, noch alles drin...
vg ichbinich
Nö, noch alles drin...
jetzt aber nicht mehr ... ganz so blöd stelle ich mich aber normalerweise doch nicht an ;-)
geht trotzdem nicht
*seufz*
VG
Schlappy
Hallo,
Nö, noch alles drin...
jetzt aber nicht mehr ... ganz so blöd stelle ich mich aber normalerweise doch nicht an ;-)geht trotzdem nicht
Schon mal in die Fehlerkonsole gesehen:
"SyntaxError: return not in function Zeile: 127"
Nach der eingefügten Funktion das return noch entfernen...
vg ichbinich
Hallo ichbinich
DANKE!!!
vor allem dafür, dass du die Geduld hattest :-)
darf ich noch was fragen?
so etwas wie die Fehlerkonsole habe ich hier schon verzweifelt versucht zu finden, in der Hoffnung, dass es weiter hilft ... ähm ... weiß aber nicht wo sie ist.
Du bist echt Klasse!
Danke nochmal
VG
Schlappy
Hallo,
so etwas wie die Fehlerkonsole habe ich hier schon verzweifelt versucht zu finden, in der Hoffnung, dass es weiter hilft ... ähm ... weiß aber nicht wo sie ist.
Firefox: Extras->Web-Entwickler->Fehlerkonsole
Internet Explorer: F12->Konsole
vg ichbinich
Danke ichbinich!
Wünsche dir noch einen schönen Nachmittag!
VG
Schlappy
Moin,
Der Quelltext ist das reinste Chaos - sorry ...
Selbst, wenn du den Code bis morgen zum Laufen bewegen kannst: Die weitere Pflege ist IMHO viel mehr Aufwand, als wenn du dir den Code nimmst, anschaust, und dir selbst eine kleine Javascript-Funktion schreibst, die deinen Wünschen entspricht.
Grüße Marco
Moin,
Der Quelltext ist das reinste Chaos - sorry ...
Selbst, wenn du den Code bis morgen zum Laufen bewegen kannst: Die weitere Pflege ist IMHO viel mehr Aufwand, als wenn du dir den Code nimmst, anschaust, und dir selbst eine kleine Javascript-Funktion schreibst, die deinen Wünschen entspricht.
Grüße Marco
Moin Marco,
wenn ich nur einen Funken Ahnung hätte, würde ich das machen.
Habe ich aber leider nicht. Wenn ich mehr Zeit hätte, ja, dann wäre das auch kein Ding ... aber so etwas kommt immer gestern und muss vorgestern fertig sein.
Trotzdem danke fürs reinlesen!
VG
Schlappy