Class Hinzufügen mit classList klappt nicht für bestimmte Popups

  • Firefox-Version
    107.0.1
    Betriebssystem
    macOs 10.13.6

    Im Zusammenhang mit einem kleinen Entwurf für eine anpassbare vertikale Lesezeichenleiste, habe ich ein einfaches Script in Benutzung .

    Es erzeugt einen Button , der die seitliche Lesezeichenleiste ein und ausklappt ( im Zusammenhang mit etwas CSS ), und das Script erzeugt auch gültige class names die dann im CSS wieterbenutzt werden können .

    Siehe unterer Abschnitt, für PersonalToolbar die class wide-mode , für browser margin, und nach dem Prinzip funktionieren auch einige andere Elemente prima .

    Was leider nicht funktioniert ist das gleiche Vorgehen für #customizationui-widget-panel, die Popup Fenster für einige der Toolbar Buttons .

    Der Class Code wider-cui wird in CSS ignoriert, taucht nicht wie die oben genannten in den Browser Tools auf als zusätzliche class , und generiert einen Error in der Toolbox .

    Einige Screenshots anbei ;

    Für jede Hilfe wäre ich sehr dankbar . :)

    Die schaltbare seitliche Lesezeichenleiste funktioniert ansonsten prima - nur die Position dieser paar Popups schaffe ich nicht an die wechselnden Breiten anzupassen .

  • Horstmann 11. Dezember 2022 um 22:21

    Hat den Titel des Themas von „Hinzufügen mit classList klappt nicht für bestimmte Popups“ zu „Class Hinzufügen mit classList klappt nicht für bestimmte Popups“ geändert.
    • Hilfreichste Antwort

    Hallo,

    ohne irgendetwas getestet zu haben, aber:

    JavaScript
    customizationui-widget-panel.classList.toggle("wider-cui");

    Das kann technisch überhaupt nicht funktionieren, da ein - in einem Variablen-Namen nicht möglich ist. Das siehst du ja auch in der Fehlermeldung, dass davon nur customizationui übrig bleibt und bemängelt wird, dass das nicht definiert ist.

    Probier es damit:

    JavaScript
    document.getElementById('customizationui-widget-panel').classList.toggle('wider-cui');
  • Hallo,


    Das kann technisch überhaupt nicht funktionieren, da ein - in einem Variablen-Namen nicht möglich ist. Das siehst du ja auch in der Fehlermeldung, dass davon nur customizationui übrig bleibt und bemängelt wird, dass das nicht definiert ist.

    Probier es damit:

    Vielen Dank Sören, damit tut sich was ; ich bekomme immer noch einen Error im Editor, und die toggle Funktion funktioniert nur bei schon offenem Popup .

    Aber immerhin wird wider-cui generell erkannt . :)

    Ich muss mich da nochmal weiter einlesen und rumtesten .

    Benutzt habe ich deinen Code so :

    Die relevante CSS ist diese :

  • Probier es damit:

    JavaScript
    document.getElementById('customizationui-widget-panel').classList.toggle('wider-cui');

    Nochmal Dankeschön Sören , aufgrund von deinem Hinweis hat's jetzt geklappt . :)

    Letztendlich musste ich nur statt customizationui-widget-panel das übergeordnete Element(?) benutzen, was nav-bar ist .

    Ich vermute customizationui-widget-panel existiert quasi nicht vor dem Öffnen des Popup Panels, und kann deswegen nicht angesprochen werden, deshalb wohl auch der Error .

    Damit sind jetzt die Positionen der Popups für (hoffentlich) alle möglichen Buttons in meiner vertikalen Lesezeichenleiste an die veränderbare Breite der Leiste angepasst .

    Das funktionierende Script sieht jetzt so aus :

    Die entsprechend korrigierte CSS wäre dann diese :

  • Horstmann 13. Dezember 2022 um 09:00

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.