Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. CSS ändern Javascript

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    CSS ändern Javascript

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      senger1985 last edited by

      Hallo,

      ich versuche gerade in JS die CSS zu ändern, wenn sich der Zustand einer Harmony-Aktion ändert.

      schedule("*/10 * * * * *", function (pwert){

      var pwert="Musik";

      var state=getState("harmony.0.Hub_Wohnzimmer.activities."+pwert).val;

      if(state == '2')

      {

      log(pwert+' is off');

      document.getElementByID('w00027').style.background = '#000';

      }

      });

      Wenn ich diesen Code ausführe, bekomme ich folgende Fehlermeldung:

      javascript.0 at Object. (script.js.common.TV_an_function_parameters2:7:13)

      Den Logeintrag macht er, aber er ändert die CSS des Elements nicht.

      Kann mir da evtl. jemand weiterhelfen?

      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by

        bei CSS Änderung musst du die Seite reoladen..

        CSS wird einmalig bei Laden der Seiten geladen und umgesetzt

        1 Reply Last reply Reply Quote 0
        • S
          senger1985 last edited by

          Hallo arteck,

          den "reload" würde ich noch schaffen, in den Code einzubinden.

          Aber auch, wenn ich den "reload" nicht im Code habe und die Seite von Hand reloade, bekomme ich die Fehlermeldung, die im oben stehenden Post steht.

          Soll heißen, dass ich nicht mal die Änderung der CSS, im Vis realisiert bekomme, weil eigentlich sollte der Code doch richtig sein?!(Wenn mich meine JS-Kenntnisse nicht ganz verlassen haben)

          1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active last edited by

            laut der Fehlermeldung ist hier der Fehler

            document.getElementByID('w00027').style.background = '#000';
            
            1 Reply Last reply Reply Quote 0
            • S
              senger1985 last edited by

              Ja und ich weiß nicht warum?

              Weil der JS Code so normalerweise richtig ist.

              1 Reply Last reply Reply Quote 0
              • Uhula
                Uhula last edited by

                @senger1985:

                Ja und ich weiß nicht warum?

                Weil der JS Code so normalerweise richtig ist. `
                Der Code wäre korrekt, wenn er denn auf dem Client, also im Browser ausgeführt werden würde. Wird er aber nicht. Er wird auf dem Server ausgeführt - und dort kann er nicht funktionieren, weil es keinen Browser, keine DOM Objekte gibt.

                Andere Lösung:

                (a) Eine javascript.0 Variable anlegen, dort via Script die jeweilige Farbe reinschreiben, Bsp: javascript.0.mycolor

                (b) in VIS, beim Widget w00027 in der Background-Color-Eigenschaft dann den Zugriff auf diese Variabel per ioBroker-Binding, in dem man dort {javascript.0.mycolor} eingibt

                Dein Script ändert die Variable, ioBroker reicht dieses durch seine Binding-Fähigkeit an das Widget weiter.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                780
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                3
                6
                1040
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo