In ein div pro Wochentag etwas anderes einblenden
Hallo ich möchte gerne 7 <div id="montag"> dann <div id="dienstag"> usw. erstellen und über visibility:hidden verstecken. So das nur ein div mit dem Richtigen Wochentag angezeigt wird.
Kann mir da jemand auf die Sprünge helfen wie ich das ganze Realisieren kann. Über jquery oder muss doch javascript verwendet werden. :shock::?: Vielleicht kennt ja auch schon jemand fertige Codeschnipsel! |
Schön, wieder jemand der jQuery für etwas anderes als JavaScript hält?
jQuery == JavaScript. Datum prüfen, und je nachdem div anzeigen. Ansonsten mit PHP date() den Tag der Woche raussuchen und darstellen. |
Och nö, bitte nicht jQuery mit Javascript gleichsetzen, das ist schlicht falsch und trägt nicht gerade zu Aufklärung bei. jQuery ist nur eine von vielen Javascript-Bibliotheken.
Zu dem Wochentagproblem, schau dir das Date-Objekt von Javascript an. Eventuell ist es auch sinnvoller gleich den richtigen Tag in dein Div zu schreiben und nicht alle im Code stehen zu haben. |
Hi,
danke für eure Hilfe! Ich würde das ganze jetzt so lösen: HTML-Code:
<!DOCTYPE html> Und funktioniert dies den auch auf den meisten Browsern? Wie kann ich den abfangen wenn kein Javascript aktiviert ist um z.B. den ganzen aüßern div auszublenden? |
Zitat:
Du sagst es ja auch selber: jQuery ist eine Javascript-Bibliothek. Da steckt zu 100% Javascript drinnen und es ist trotzdem "nur" Javascript. Das musste mal gesagt werden, nicht, dass den Schwachsinn hier noch wer glaubt. Zu dem eigentlichen Problem: Deine Lösung ist zwar nicht schön, aber funktional. Sofern du damit leben kannst, dann kannst du es natürlich so lassen. Es wird nur schwerer (bzw. mühsamer) werden, Änderungen an dem Code durchzuführen. Ein Hinweis: IDs dürfen nur einmal im Code vorkommen, also sind Selektoren wie "#heute #fall1" unsinnig, #fall1 alleine reicht aus. Auch kannst du Elemente in Variablen speichern, wie zB var heuteDiv = document.querySelector('#heute'); dann kannst du mit heuteDiv.getElementsByTagName('div') auf die div innerhalb zugreifen, das würde den code eventuell lesbarer machen. Auch kannst du ruhig Überschriften und Absätze verwenden und nicht nur bedeutungslose divs. |
Zitat:
@neuland Du darfst IDs nur einmal im Dokument verwenden, deine Fälle dürfen also nicht die gleichen IDs haben. getElementsByTagName kannst du dir eigentlich sparen, das kann querySelector bzw. dann eher querySelectorAll auch. Besser wäre es hier, wenn du den einzelnen Element passende Klassen (oder data-Attribute) gibst und sie darüber selektierst, dann wirde dein Code auch sehr viel einfacher. Statt dem riesigen switch/case könntest du die Daten auch in ein Objekt schreiben und dann in einer Schleife durchlaufen, das wäre einfacher zu pflegen. |
Zitat:
Man kann in mootools nur nicht von Haus aus die jQuery Befehle nutzen, man könnte sie aber problemlos einbauen. Eben weil beides javascript ist. Da dürfte man auch nicht sagen, dass Palatschinken kein essen ist, weil ein Kaiserschmarren ist ja auch nichts zum essen, weil dann wären Palatschinken = Kaiserschmarren. Insofern ist es korrekt, wenn man sagt, dass jquery auch "nur" javascript ist. Aber nicht jedes javascript ist jquery. Ansonsten hast du natürlich Recht, das mit den doppelten IDs habe ich beim ersten drüberschauen in der Eile übersehen. Dass hier noch einiges schöner schreiben kann ist klar, aber falls es dem Threadersteller so reicht kann er es auch verwenden. Wenn er die nächsten 10 Jahre nichts an dem Code ändern muss dann will ich ihn dabei nicht aufhalten. Auch sieht es nicht so aus, als ob der code wirklich performant und optimiert sein soll. |
Zu sagen, dass jQuery auch Javascript ist, damit habe ich kein Problem. Wenn man es aber gleichsetzt impliziert das auch, dass du damit geschriebene Skripte wechselseitig nutzen kannst und das ist falsch. Ich habe schon so oft erlebt, dass die Leute einfach den Unterschied zwischen jQuery und Javascript nicht kennen und solche Gleichsetzungen begünstigen eine falsche Wahrnehmung. Man kann ein jQuery-Skript eben nicht überall ausführen wo Javascript zur Verfügung steht, umgekehrt ist das prinzipiell immer möglich.
Dein Vergleich hinkt natürlich gewaltig, da Palatschinken und Kaiserschmarren nicht aus Essen gemacht, sondern nur als solches bezeichnet werden. |
Hi danke nochmal für eure Hilfe!
Sorry das ich eine Diskussion wegen Javascript und JQuery in Gang gebracht habe. Nach eurer Erklärung verstehe ich das ganze jetzt so: Javascript wird mit dem Browser zuverfügung gestellt. jQuery ist eine Sammlung von in Javascript geschrieben Funktion und Methoden. Deshalb muss auch die Richtige jQuery Version eingebunden werden. Hoffe das dies so einigermaßen stimmt :shock: Ich habe nun versucht mit den letzten Tipps das ganze anders zu lösen: HTML-Code:
<!DOCTYPE html> Aber ob dies Perfomanter ist, keine Ahnung. Wenn ihr Tipps habt wie ich das noch besser lösen könnte, bin für alle Tipps :idea: dankbar. Nur wie soll ich dies für einen Endanwender Pflegbar machen? :roll: |
Zitat:
Ich würde dir empfehlen grundsätzlich Literale zu schreiben, also statt „new Object()“ einfach „{}“ und statt „new Array()“ nur „[]“, das ist einfach kürzer, besser lesbar und üblich. Spätestens bei Strings und Numbers sind die beiden Varianten nicht mehr äquivalent nutzbar (typeof 'foo'; ist „string“ aber typeof new String('foo'); ist „object“). Bei der Namensvergabe ist es üblich alles in Englisch zu halten. Variablen werden üblicher Weise klein begonnen, es sei denn sie beinhalten einen Konstruktor. Letztendlich ist es natürlich deine Entscheidung wie du das handhaben möchtest. Ich habe dir mal ein Beispiel gemacht wie ich das auf die Schnelle umsetzen würde: HTML-Code:
<!DOCTYPE html> Zitat:
PS: Wozu brauchst du die Namen der Wochentage? |
Alle Zeitangaben in WEZ +2. Es ist jetzt 02:18 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023