Beiträge von Sempervivum

    Zitat

    Ja ich habe das ganze jetzt 5x hintereinander :D

    Ich nehme an, das bedeutet, dass Du auch die Funktion TimerUnter 5x hast und jedes Mal timerspezifisch angepasst hast? Wenn Du es so hast und keine Erweiterungen zu erwarten sind, ist es ja gut, aber es wäre kein Problem gewesen, diese Funktion so ändern, dass eine einzige beliebig viele Timer verwalten kann.

    Zitat

    var timer in die funktion mit rein weil ich das ganze 5 mal habe, also 5 Timer

    Eigentlich wäre das die beste Methode, man hat dann nur das Problem, dass sie bei einem erneuten Aufruf nicht mehr greifbar ist. Man müsste das Ganze dann objektorientiert anlegen, d. h. diese Variable im Objekt definieren, das nur einmal erzeugt wird. Und dann die Funktionen darin, die nötig sind.


    Zitat

    werde jetzt einfach 5 timer Variablen machen und die einfach oben deklarieren

    Das ist sicher möglich, aber wahrscheinlich wirst Du dann auch Teile des Javascript vervielfachen müssen. IMO nicht so günstig und ich würde den objektorientierten Ansatz vorziehen.

    Ich habe mit deinem Code eine Testdatei gemacht und denke, ich verstehe, was dein Ziel ist: Du möchtest die Divs von der Breite her so einrichten, dass keines abgeschnitten ist, auch wenn wegen des Scrollings rechts ein Teilbereich unsichtbar ist.


    Wenn es meine Aufgabe wäre, hätte ich nicht solche Berührungsängste, Parameter mit Javascript zu berechnen. CSS ist nun mal nicht dafür gedacht, zu rechnen, wenn man mal von solch einfachen Dingen wie calc absieht, sondern sieht bestimmte Verfahren bzw. Layoutmuster vor, die mit Flex- oder Gridlayout definiert werden und wo der Browser dann die passenden Abmessungen berechnet.


    Einfach die passende Breite der Divs ausrechnen und setzen.

    Zitat

    Damit löscht er zwar beim slide auf OFF den Timer aber nur für 1 Sekunde, dann ist er wieder da

    Das lässt vermuten, dass der Timer nicht wirklich angehalten wird. Du schreibst da von einem "slide" - ich habe in meiner Testdatei ja einen Checkbutton verwendet. Möglicher Weise hast Du da etwas nicht angepasst?

    Wie vorhin, war nicht getestet. Ich habe noch einige Anweisungen hinzu gefügt und hoffe, dass es jetzt unter allen Bedingungen läuft:

    Die Änderungen:

    In Zeile 3 die Timervariable definieren.

    In Zeile 42 den Timer in der Variablen speichern.

    In Zeile 75 den Timer löschen. Dies musst Du wahrscheinlich noch ergänzen durch das Löschen der Ausgabe in div#countdown.

    Um den Timer mit clearInterval() wieder löschen zu können, muss man ihn in einer Variablen speichern:

    Ja, das war ja nicht getestet und es waren noch Fehler drin, vor allem, dass die Funktion TimerUnter() beim Laden der Seite gar nicht aufgerufen wurde.

    Dies ist jetzt getestet und funktioniert soweit, dass der Timer-Wert gespeichert und beim Neuladen wieder eingelesen wird:

    Ich habe es mal grob ergaenzt, aber ohne es zu testen:

    Versuche diesen Code, sollte besser funtionieren:

    Wie gesagt, ziemlich unschön jetzt. Aber ich vermute, Du bist zufrieden, wenn es so läuft. Ich habe auch schon eine Lösung, wie man es richtig machen kann, musst Du entscheiden, ob wir der Sache noch nachgehen sollen. Aber heute nicht mehr, ist schon spät.

    Dann müssen wir das wieder heraus nehmen. Die letzte Anweisung also wieder so:

    this.addEventListener('click', changeColors);

    d. h. ohne vorher das window abzufragen. Das ist aber jetzt ziemlich unsauber, weil die Tabellen einfach eingefärbt werden, wenn man irgend wo auf der Seite klickt. Muss ich noch Mal drüber nachdenken.