Yomar Urungar: DAS GIBT'S doch nicht?

Hi alle,

ich habe hier ein Netscape 6 Problem:

ich habe eine Funktion, die bei OnMouseOver aufgerufen wird.

function setImage(image){
 ns4 = (document.layers)? true:false
 ie4 = (document.all)? true:false
 v6 = (document.getElementById)? true:false

$img = new Image();
 $img.src = image;

if(ie4){
  document.all.menuImage.background=$img.src;
 }
 else if(ns4){
  document.menuImageLayer.background.src=$img.src;
 }
 else if(v6){
  document.getElementById("menuImageLayer").style.backgroundImage = $img.src;

}
}

und in der html-Datei habe ich eine Tabelle mit einem <td id="menuImage" name ="menuImage"...>...</td> und ein layer <layer id="menuImageLayer">...</layer>

In ns4 funktioniert das total super. Aber in NS6 will das einfach nicht klappen. Weiss jemand wieso das nicht geht?

Thx
Yo

  1. hi

    In ns4 funktioniert das total super. Aber in NS6 will das einfach nicht klappen. Weiss jemand wieso das nicht geht?

    Netscape 6 hat den Layer-Quatsch nicht mehr, numm die <td>, dann geht's.

    Grüße aus Bleckede

    Kai

    1. hi

      hi, danke für die antwort...

      Netscape 6 hat den Layer-Quatsch nicht mehr, numm die <td>, dann geht's.

      jetzt hab ich das mit dem <td> versucht, klappt aber immer noch nicht....

      Weiss jemand wieso?

      Thx
      Jeb

      1. Hi Jeb,

        Netscape 6 hat den Layer-Quatsch nicht mehr, numm die <td>, dann geht's.

        jetzt hab ich das mit dem <td> versucht, klappt aber immer noch nicht....

        es war wohl <div> gemeint, nicht <td>.

        LG Orlando

        --
        SELF-TREFFEN 2002
        http://www.rtbg.de/selftreffen/
        http://www.megpalffy.org/temp/penneninhh.html

        1. Hi Jeb,

          thx,

          jetzt hab ich:

          in basic.js:

          function setImage(image){
           ns4 = (document.layers)? true:false
           ie4 = (document.all)? true:false
           v6 = (document.getElementById)? true:false

          $img = new Image();
           $img.src = image;

          if(ie4){
            document.all.menuImage.background=$img.src;
           }
           else if(ns4){
            document.menuImageLayer.background.src=$img.src;
           }
           else if(v6){
            document.getElementByID("menuImageLayer").background.src=$img.src;
           }
          }

          in .html-Datei:

          ...
            <div id="menuImageLayer" style="position:absolute; left:68px; top:248px; width:40px; height:30px">
            </div>

          Und es geht immer noch nicht?! Aahhhhhhhhhh ich dreh durch?!?!

          Thx
          Jeb

          1. Moin!

            Variablennamen in Javascript immer ohne Dollarzeichen!

            $img = new Image();
            $img.src = image;

            Ansonsten: Was geht nicht, was eigentlich gehen sollte? Gibts Fehlermeldungen? Gibts Fehlverhalten? Etwas mehr Beschreibung bitte.

            - Sven Rautenberg

            1. Moin!

              Variablennamen in Javascript immer ohne Dollarzeichen!

              $img = new Image();
              $img.src = image;

              k thx...

              Ansonsten: Was geht nicht, was eigentlich gehen sollte? Gibts Fehlermeldungen? Gibts Fehlverhalten? Etwas mehr Beschreibung bitte.

              Ja, das Bild wird einfach nicht dargestellt in Netscape 6. In Netscape 4.75 und im ie schon....

              Weisz jemand warum?

              Thx
              Jeb

          2. Moin!

            if(ie4){
              document.all.menuImage.background=$img.src;

            menuImage ist hier wohl falsch und heißt menuImageLayer, oder?

            }
            else if(ns4){
              document.menuImageLayer.background.src=$img.src;
            }
            else if(v6){
              document.getElementByID("menuImageLayer").background.src=$img.src;

            Hier muß vor background noch  ein style rein. Schließlich willst du die Stylesheetformatierung ändern.

            Außerdem dürfte es dann .....style.background="url("+img.src+")" heißen müssen, nämlich genauso, wie im CSS auch.

            }
            }

            - Sven Rautenberg

          3. Hallo,

            document.getElementByID("menuImageLayer").background.src=$img.src;

            ^
            Das große D in getElementByID muss ein kleines d sein. Also: getElementById

            Hab' aber keine Ahnung ob es dann funktioniert, ist mir nur gerade beim "Überfliegen" aufgefallen.

            Robert

  2. hi,

    in ns6 gibt es kein '<layer> tag'. bezieh dich auf das <td> oder nimm ein <div>.

    mfg, jan

  3. Hi nochmal,

    hier eine URL zum Testen:

    http://home.in.tum.de/~toni/netscapeTest.htm

    thx
    Jeb