online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon derZivi vom 13.11.2019, 12:51 Options

Online Weinachtskalender

Hallo Forum,
ich möchte für meine Freundin einen Online-Weinachtskalender machen. Jeden Tag soll ein Türchen freigeschaltet werden. Sie studiert z.Z in Mexico also müsste auch die dortige Zeit beachtet werden. Hab schon im Forum gesucht aber die Links zu entsprechenden Scripten gehen nicht mehr. Der Kalender soll nur aus einem Bild mit 24 Türchen und den Bildern dahinter bestehen.

P.S. weiss auch nicht so richtig ob ich "Maps" für die Kalendergrafik nehmen soll oder Slices (mit Photoshop)

Danke für eure Hilfe


Antwort schreiben

Antwort 21 von derZivi vom 23.11.2019, 12:40 Options

hab jetzt doch komplett auf friedels script gewechselt weil dann alle Problemchen die ich genannt habe gelöst sind. Trotzdem großen Dank an beide !!!

Antwort 22 von advent vom 23.11.2019, 12:46 Options

@Friedel:
Zitat:
Aber window.onload=advent; geht jedenfalls nicht.
klar geht das. Übrigens wird im Script, das der Threaderöffner in Antwort 19 meint ebenfalls window.onload benutzt.
Den Hinweis auf die Überalterung vom SelfHTML-JavaScript-Kapitel solltest du mehr beherzigen.
Google mal zum Thema "unobstrusive JavaScript" (oder der deutschen Übersetzung "barrierefreies JavaScript").

Aktuelle Browser mit deaktiviertem JavaScript ignorieren script-Bereiche komplett, HTML-Kommentare brauchen die erst recht nicht.

Zitat:
Mir sind keine Gründe bekannt, warum man heute keine globalen Variablen mehr verwenden sollte.
nun, die Zusammenführung meines Scripts und das Schneeflockenscripts ist nur möglich, weil ich keine globalen Variablen nutze, und daher nicht die Gefahr besteht, dass meine Funktionen zB aus Versehen eine Lawine auslösen, indem sie irgendeinen Wert ändern.

@Zivi:
du kannst window.onload nur einmal eine Funktion zuweisen.
Wenn du dies Schneescript mit übernehmen willst kannst du das nur so lösen:

setze an den Anfang des JavaScript-bereichs das Schnee-Script ohne
 if (browserok)
	window.onload = initsnow;

(letzte Zeilen)
danach meins und ändere darin die letzte Zeile in folgendes:

window.onload=function () {
advent;	
initsnow;
}


Keine Garantie, da das Scneeflockenscript schlampig geschrieben ist. Allerdings verwendet meins keine globalen Variablen, so dass ich nicht annehme, dass sie sich in die Quere komen.

Antwort 23 von Friedel vom 23.11.2019, 18:21 Options

@advent: Vielleicht geht window.onload in einigen Browsern. Jedenfalls geht es nicht in allen Browsern. (In meinem z.B. nicht). Nicht mal in den gängigen. Ich habe Selfhtml nicht mal erwähnt, aber es ist imho nicht überholt. Die letzte Neuauflage des Standards für JavaScript ist die 3. Ausgabe von Standard ECMA-262 ECMAScript Language Specification vom Dezember 1999. Die gilt bis heute und es gibt weder eine neuere noch eine andere, die auch gilt. Ich weiß nicht, was zu dem Thema in Selfhtml steht, aber da du es als veraltet beschreibst, wird es wohl nicht dem entsprechen, was du für richtig hältst. Entscheidend ist jedenfalls weder Selfhtml noch deine Meinung, sondern nur der gültige ECMA-Standard (wobei man imho davon abweichen sollte, wenn gängige Browser den Standard nicht umsetzen können).

@derZivi: Schön, dass es jetzt geht. :-)

Antwort 24 von advent vom 24.11.2019, 11:25 Options

Zitat:
Vielleicht geht window.onload in einigen Browsern. Jedenfalls geht es nicht in allen Browsern. (In meinem z.B. nicht). Nicht mal in den gängigen
.ich weiß nicht was bei dir gängig ist, wenn nicht IE 5-7, Opera 7-9, Firefox 1-2 (und Verwandte), Safari. Bislang laufen alle meine Seiten problemlos mit window.onload. Vielleichst machst du einen Fehler bei der Umsetzung? Beliebt ist folgender:

function fertigGeladen() {
alert("Fertig");
}
window.onload=fertigGeladen();

statt
window.onload=fertigGeladen;


Unterschied gesehen? Übergeben wird die Referenz auf die Funktion, daher ohne Klammern*, ansonsten wird window.onload der Rückgabewert der Funktion (hier gar nichts) zugewiesen. Dann passiert auch nichts.

Probier das einfach mal aus. Einfach ein bisschen HTML drumherumgebastelt und im Browser geladen. Bitte berichte hier das Ergebnis, evtl. mit deinem Code und der genauen Browserbezeichnung, noch besser mit den Meldungen der Firefox-JavaScript-Konsole, im Falle dass es irgendwo nicht laufen sollte.

PS: wo steht im ECMA-262-Standard überhaupt etwas zu DOM-Objekten und deren events?

*alternativ eine anonyme Funktion mit Klammern - siehe Antwort 22

Ähnliche Themen

ddwebrenderer::render: Kein Eintrag!

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026