MaxRabe: Variable für CSS

Hallo,

ich habe auf meiner Seite den "Postcard-Viewer"(PV) integriert. Mittels JS legt der Viewer die Hintergrundfarbe fest. Nun habe ich allerdings auch einen Style-Switcher der zwischen schwarz.css und weiß.css wechselt. Allerdings wechselt die Hintergrundfarbe des PV nicht mit, weil die Farb-Angabe ja in der HTML-Datei steht.

  
var fo = new SWFObject("viewer.swf", "viewer", "100%", "100%", "8", "#000000");  

Meine Frage, geht die Farbe z.B. mit einer Variablen an die css-Dateien übergeben... Oder ein div definieren??.. zB. so:

  
var fo = new SWFObject("viewer.swf", "viewer", "100%", "100%", "8", '<div class="bg"></div>)';  

Wie könnte ich die bg-Farbe beim Stylewechsel mit ändern?

Dankbar für alle Tipps!
Gruß
Max

  1. Om nah hoo pez nyeetz, MaxRabe!

    Wie könnte ich die bg-Farbe beim Stylewechsel mit ändern?

    Du könntest !important verwenden.

    Matthias

    --
    1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
    1. Wie könnte ich die bg-Farbe beim Stylewechsel mit ändern?

      Du könntest !important verwenden.

      Hi Matthias,

      erklär doch mal bitte näher, wie mir das weiterhelfen kann!? Es erschließt sich mir noch nicht so ganz.

      1. Om nah hoo pez nyeetz, MaxRabe!

        Du könntest !important verwenden.

        erklär doch mal bitte näher, wie mir das weiterhelfen kann!? Es erschließt sich mir noch nicht so ganz.

        Du hast doch sicher gelesen, was ich dir verlinkt habe? An welcher Stelle hast du etwas nicht verstanden? Was hast du bisher probiert?

        Matthias

        --
        1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
        1. Du hast doch sicher gelesen, was ich dir verlinkt habe? An welcher Stelle hast du etwas nicht verstanden? Was hast du bisher probiert?

          !important gibt ja nur eine größere Gewichtung in css Dateien. Ich habe aber Zwei(!) css-Dateien, welche ich mit einer styleswitch.js jeweils wechsle. Ich möchte die Hintergrundfarbe des PViewers irgendwie mit den ccs-Dateien "koppeln" (z.B. mittels div), damit sich der Hintergrund mit ändert. Noch mal zum besseren Verständnis:

          weis.css
          schwarz.css

          viewer.html (enthält den JS-Code mit Hintergrundfarbe)

          1. Om nah hoo pez nyeetz, Max!

            !important gibt ja nur eine größere Gewichtung in css Dateien. Ich habe aber Zwei(!) css-Dateien, welche ich mit einer styleswitch.js jeweils wechsle. Ich möchte die Hintergrundfarbe des PViewers irgendwie mit den ccs-Dateien "koppeln" (z.B. mittels div), damit sich der Hintergrund mit ändert. Noch mal zum besseren Verständnis:

            weis.css schwarz.css

            viewer.html (enthält den JS-Code mit Hintergrundfarbe)

            Wenn ich dich richtig verstehe, steht in der

            viewer.html <body style="background-color: red"> und in der

            weis.css body {background-color: white;}

            mit dem Ergebnis, dass der Hintergrund rot ist.

            Du möchtest, dass der Hintergrund weiß ist?

            !important sollte dein Freund sein.

            Matthias

            --
            1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
            1. Nicht ganz. Vereinfacht steht in den Dateien folgendes:

              viewer.html:
              javascriptvar fo = new SWFObject("viewer.swf", "viewer", "100%", "100%", "8", "#ffffff");

              weiss.css:
              cssbody {background-color: #ffffff;} in der

              schwarz.css:
              cssbody {background-color: #000000;}

              Durch anklicken zweier Links in der viewer.html wechselt jeweils das stylesheet. (gesteuert durch eine styleswitcher.js)

              <li>Page Style:  
              <a href="#" onclick="setActiveStyleSheet('light'); return false;">Light</a> /  
              <a href="#" onclick="setActiveStyleSheet('dark'); return false;">Dark</a>  
              </li>
              

              Dummer- bzw. logischerweise wechselt aber die Farbe in der viewer.html nicht mit. Entweder steht in der viewer.html immer #ffffff oder #000000, je nachdem, was ich dort eintrage (statisch). Die Farbe soll aber mitwechseln! Also müsste an der Stelle der Farbe (im Beispiel #ffffff) eine Variable oder ein div stehen, sodass die css-Dateien die Farbe mit steuern können.

              1. Hi,

                viewer.html:
                javascriptvar fo = new SWFObject("viewer.swf", "viewer", "100%", "100%", "8", "#ffffff");

                dieser Code hat 0% (in Worten: null Prozent) Relevanz. JavaScript-Code besitzt keine Darstellung, also auch keine Hintergrundfarbe. Ob innerhalb eines JavaScript-Codes ein Farbwert steht, der irgendwo mal zur Darstellung kommen könnte, tut auch nichts zur Sache.

                Wie also lautet der *relevante* HTML- und CSS-Code dieser viewer.html, also das, was von obigem Code erzeugt wird?

                Dummer- bzw. logischerweise wechselt aber die Farbe in der viewer.html nicht mit. Entweder steht in der viewer.html immer #ffffff oder #000000, je nachdem, was ich dort eintrage (statisch). Die Farbe soll aber mitwechseln! Also müsste an der Stelle der Farbe (im Beispiel #ffffff) eine Variable oder ein div stehen, sodass die css-Dateien die Farbe mit steuern können.

                Schritt 1: Kontaktiere die Entwickler jenes von Dir eingesetzten SWFObject, was sie zur Lösung eines solchen Problems vorgesehen haben. Die einfachste Form des Kontaktes ist das Konsultieren der von ihnen erstellten Dokumentation und FAQ.
                Schritte 2-57 (ca.): Siehe Schritt 1.
                Schritt 58: Freunde Dich mit !important an, welches Dein Problem notfalls löst.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Bounjoun Cheatah,

                  [...] Und ich hatte mich gefragt, ob der Scotch Whisky dich so weit hatte, dass du hier nicht mehr zw. deutschen Mädels und internationalen Programmierern unterscheiden konntest/könntest/können würdest/wolltest/können wolltest/wolltest können ... unendlich.

                  Tja, so lange war du nicht mehr hier (übrigens: wo sind Stuppi und Beat, liest Siechfred überhaupt noch mit, was ist mit dem chronisch-unglücklichen Christoph [Schnauf])?

                  In Ermangelung eines guten Scotchs, aber eines weniger prozenthaltigen doch der Mengen nach gemessen an der Uhrzeit nicht minder wirkenden Äppler grüßt dich hickstens:

                  Patrick (ja der [Jean-Max]).

                  Adiou.

                  --
                  Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth
                  Ist Rudi Carrell Gott? Oder George Harrison Ford?
                  Ich bin faul und das ist gut so.
              2. Hallo,

                Durch anklicken zweier Links in der *viewer.html* wechselt jeweils das stylesheet. (gesteuert durch eine styleswitcher.js)

                [Hervorhebung von mir]

                Dummer- bzw. logischerweise wechselt aber die Farbe in der *viewer.html* nicht mit.

                [Hervorhebung von mir]

                Wie jetzt? Es wird ein anderes stylesheet für viewer.html verwendet, aber es bewirkt "Dummer- bzw. logischerweise" nichts in viewer.html?

                viewer.html:
                javascriptvar fo = new SWFObject("viewer.swf", "viewer", "100%", "100%", "8", "#ffffff");
                Entweder steht in der viewer.html immer #ffffff oder #000000, je nachdem, was ich dort eintrage (statisch).

                Das ist javascript, nicht html. Und ja, wenn du etwas anderes im SWFObject haben willst, musst du es halt angeben, z.B. in deiner styleswitcher.js mit
                javascriptfo = new SWFObject("viewer.swf", "viewer", "100%", "100%", "8", "#000000"); ein neues SWFObject erzeugen.

                Falls fo nicht global zur Verfügung steht, musst du irgendwie zusehen, dass du in styleswitcher.js Zugriff darauf bekommst. Wahrscheinlich hat das Objekt auch eine Eigenschaft für diese Farbe, so dass du sie einfach mit etwas wie javascriptfo.farbe='#000000' bzw. javascriptfo.farbe='#ffffff' *dynamisch* setzen kannst (statt gleich das ganze Objekt neu zu erzeugen), aber wie gesagt von styleswitcher.js aus, d.h. an der Stelle, wo auch das sonstige Stylesheet für viewer.html umgeschaltet wird.

                Gruß, Don P