girlx: Dateiname in Variablen speichern und abrufen

Das klingt so simple, will aber nicht funktionieren. Was mache ich falsch?: es wird nichts von dem angezeigt, auch kein Fehler (Seite lädt sich und funzt ganz normal)

  
var z = 3;  
  Farbe = new Array(z);  
  Farbe[0] = "bg1.gif";  
  Farbe[1] = "bg2.gif";  
  Farbe[2] = "bg3.gif";  
  var jetzt = new Date();  
  var z = (jetzt.getSeconds())%3;  
  document.all.tabelle1.style.backgroundImage = Farbe[z];  
  document.all.tabelle2.style.backgroundImage = Farbe[z];  
  document.all.tabelle3.style.backgroundImage = Farbe[z];  

  1. hi,

    Das klingt so simple, will aber nicht funktionieren. Was mache ich falsch?

    du weist der CSS-eigenschaft background-image einen falschen wert zu.

    die syntax in CSS ist _nicht_ background-image:"dateiname.xyz".

    gruss,
    wahsaga

    1. Kannst du mir dann sagen, was dann da im JavaScript stehen müsste?

      1. Hi,

        Kannst du mir dann sagen, was dann da im JavaScript stehen müsste?

        finde heraus, wie es in CSS notiert wird - das steht in SelfHTML - dann weißt Du auch, wie es in JavaScript übersetzt werden muss.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. aber das ist doch mein problem,. das habe ich für meinen Fall nicht rausbekommen.

          1. Hallo,

            aber das ist doch mein problem,. das habe ich für meinen Fall nicht rausbekommen.

            Dann schau doch einfach hier: http://selfhtml.teamone.de/css/eigenschaften/hintergrund.htm#background_image

            style="background-image:url(background2.gif);..."

            Versuch mal das url(...) in deinem Script mit einzubauen.

            Viele Grüße,

            Stefan

            1. dass das mit url geht, habe ich ja inzwischen mitbekommen, aber selbst wenn ich url(variable) schreibe, geht es nicht.

              1. Hallo,

                dass das mit url geht, habe ich ja inzwischen mitbekommen, aber selbst wenn ich url(variable) schreibe, geht es nicht.

                Ist alles natrülich schwer einzuschätzen, wenn du nur Teile der Seite postest (oder allein schon, wenn man ledglich den Quelltext sieht). Lad doch mal die betroffene Seite wo hoch und verrate uns den Link.

                Viele Grüße,

                Stefan

              2. Hallo girlx,

                dass das mit url geht, habe ich ja inzwischen mitbekommen, aber selbst wenn ich url(variable) schreibe, geht es nicht.

                Wenn die Variable so "url(variable)" in deinem String steht, wird sie natürlich nicht interpretiert. Wenn Du dort stattdessen den Wert der Variablen stehen haben willst, musst Du schreiben:
                "url(" + variable + ")".

                Grüße
                Andreas

                --
                "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
                (Rich Cook)
  2. Hallo,

    document.all.tabelle1.style.backgroundImage = Farbe[z];

    document.all kennt nur der IE. Sieh Dir mal
    http://selfhtml.teamone.de/javascript/objekte/document.htm#get_element_by_id an und bzgl. backgroundImage: http://selfhtml.teamone.de/css/eigenschaften/hintergrund.htm#background_image

    Gruß, Jürgen

    1. in meinem Script funzen die Beispiele alle nicht.

      Mein Script steht im Header und Hintergrundbilder von 3 Tabellen sollen beliebig (von 3 bildern) ausgewählt werden.

      1. Hallo,

        dann poste mal den auf das Wesentliche reduzierten Code deiner Seite.

        Gruß, Jürgen

        1. mein Code bis zur tabelle1:

          <code><html>

          <head>

          <title>SearchBox_BilderRotation</title>

          <script type="text/javascript">
          <!--

          function tableColor() {
          document.write("test");

          if(window.location.search != "") {
            parameter = window.location.search;
            ersetztesParam = parameter.replace(/%23/,"#");
            neuerParam = ersetztesParam.slice(7,14);
            document.all.tabelle1.style.backgroundColor = neuerParam;
            document.all.tabelle2.style.backgroundColor = neuerParam;
            document.all.tabelle3.style.backgroundColor = neuerParam;

          } else {
            var z = 3;
            Farbe = new Array(z);
            Farbe[0] = <IMG SRC="bg1.gif" ALT="text1" Border="0" width="200" height="51"></A>';
            Farbe[1] = <IMG SRC="bg2.gif" ALT="text1" Border="0" width="200" height="51"></A>';
            Farbe[2] = <IMG SRC="bg3.gif" ALT="text1" Border="0" width="200" height="51"></A>';
            var jetzt = new Date();
            var z = (jetzt.getSeconds())%3;
            document.write(Farbe[z]);

          document.all.tabelle1.style.backgroundColor = #dddddd;
            document.all.tabelle1.style.backgroundColor = #dddddd;
            document.all.tabelle1.style.backgroundColor = #dddddd;
           }
          }

          //-->
          </script>

          </head>

          <body bgcolor="#dddddd" onLoad="tableColor()">

          <table border="0" cellpadding="0" cellspacing="0" width="200" height="301" id="tabelle1">
          </code>

          1. Hallo,

            ich dachte, Du wolltest Hintergrundbilder wechseln. Na ja.
            Du kannst Fehlermeldungen lesen? Z. B. so was wie 'document.all.tabelle1.style' ist Null oder kein Objekt?

            document.write("test");

            Was soll das? Ab hier ist Deine Seite weg und es steht nur noch test da! Daher die Fehlermeldung oben.

            document.all.tabelle1.style.backgroundColor = neuerParam;

            Farben werden mit ...="#112233" gesetzt.

            document.write(Farbe[z]);

            Hier wird hinter Test ein Bild gesetzt.

            document.all.tabelle1.style.backgroundColor = #dddddd;

            besser ... = "#dddddd" ; aber die Tabelle ist schon lange nicht mehr da. Daher die Fehlermeldung.
            Und sieh zu, dass Du die .all. los wirst.

            Gruß, Jürgen