Frau Holle: Bitte Code gegenlesen

Hallo,
ich habe da mal wieder ein Problem:

Der Rollover-Effekt funktioniert nicht richtig. Es wird zwar das neue Bild geladen, aber nicht an der richtigen Position. Stattdessen wird es rechts oben geladen. Also er ignoriert irgendwie die Position, die ihm per <DIV> mitgegeben wird. Aber wo bringe ich das in der Javascipt-Funktion rein?

Die Funktion:

<Script language="JavaScript">
   <!--
    browser_name = navigator.appName;
    browser_version = parseFloat(navigator.appVersion);
     if (browser_name == "Netscape" && browser_version >= 3.0)
    { roll = 'true'; }
    else if (browser_name == "Microsoft Internet Explorer" && browser_version >=      4.0)
    { roll = 'true'; }
     else { roll = 'false'; }
     if (roll == 'true') {

Normal1 = new Image();
  Normal1.src = "Images/Menu/Banner/Home_oben.gif";     /* erste Standard-Grafik */
  Highlight1 = new Image();
  Highlight1.src = "Images/Menu/Banner/Home_oben_active.gif"; /* erste Highlight-Grafik */
  }

function Bildwechsel(Bildnr,Bildobjekt) {
   window.document.images[Bildnr].src = Bildobjekt.src;
  }
  //-->
  </script>

Die html-Anweisung:

<div id="box2"><a href="indox.html" target="rechts"
        onMouseOver="Bildwechsel(0,Highlight1)"
     onMouseOut="Bildwechsel(0,Normal1)">
     <img src="Images/Menu/Banner/Home_oben.gif" width="10%" height="25%" border="0" alt="" ></a></div>

Danke, Chris

  1. Hallo,

    <div id="box2"><a href="indox.html" target="rechts"

    bin nicht so sehr der JS Freak aber indox.html?
    Evtl. auch mal die Framesetdefinition prüfen. Ob der Position dürfte es eigentlich keine Probleme geben da ja nur die Grafik ausgetauscht wird. Kann mich aber auch irren.

    Gruss
    Rainer

  2. hi,

    window.document.images[Bildnr].src = Bildobjekt.src;

    Indexnummern sind unguenstig. Jedes neue Bild verschiebt das ganze System. Gib den Bildern Namen zur Referenzierung.
    window.document.images["Dein_Name"].src = Bildobjekt.src;
    <img name="Dein_Name" src="Images/Men.....>

    Gruesse  Joachim

    1. hi,

      window.document.images[Bildnr].src = Bildobjekt.src;

      Indexnummern sind unguenstig. Jedes neue Bild verschiebt das ganze System. Gib den Bildern Namen zur Referenzierung.
      window.document.images["Dein_Name"].src = Bildobjekt.src;
      <img name="Dein_Name" src="Images/Men.....>

      Gruesse  Joachim

      Hallo Joachim,

      leider kann ich das jetzt nicht testen. Meinst Du, das es der Fehler ist? Bin da etwas skeptisch. Weil,
      ob ich nun einen Namen oder eine Nummer vergebe, dürfte ihm ja eigentlich egal sein. Aber ich werde es probieren.
      Danke dafür.

      Gruß, Chris

    2. hi,

      window.document.images[Bildnr].src = Bildobjekt.src;

      Indexnummern sind unguenstig. Jedes neue Bild verschiebt das ganze System. Gib den Bildern Namen zur Referenzierung.
      window.document.images["Dein_Name"].src = Bildobjekt.src;
      <img name="Dein_Name" src="Images/Men.....>

      Gruesse  Joachim

      Hallo Joachim,

      ich hab getestet und es funktioniert! Vielen Dank, für Deine Hilfe!

  3. Hallo,
    ich habe da mal wieder ein Problem:

    Der Rollover-Effekt funktioniert nicht richtig. Es wird zwar das neue Bild geladen, aber nicht an der richtigen Position. Stattdessen wird es rechts oben geladen. Also er ignoriert irgendwie die Position, die ihm per <DIV> mitgegeben wird. Aber wo bringe ich das in der Javascipt-Funktion rein?

    Du liest hier doch öfters mit und solltest dir mit ein bisschen Mühe selber helfen könne, zumal das was du da machst an allen Ecken und enden krankt und das bei einem 3-Zeiler.

    Die Funktion:

    <Script language="JavaScript">
       <!--
        browser_name = navigator.appName;
        browser_version = parseFloat(navigator.appVersion);
         if (browser_name == "Netscape" && browser_version >= 3.0)
        { roll = 'true'; }
        else if (browser_name == "Microsoft Internet Explorer" && browser_version >=      4.0)
        { roll = 'true'; }
         else { roll = 'false'; }
         if (roll == 'true') {

    Frage hier:

    a.) warum glaubst du hat der Name des Browsers etwas mit der Fähigkeit Bilder auszutauschen zu tun?
    b.) Warum testest du nicht auf das was du benutzen möchtest.
    c.) woher hast du diesen Mist?

    function Bildwechsel(Bildnr,Bildobjekt) {
       window.document.images[Bildnr].src = Bildobjekt.src;
      }
      //-->
      </script>

    Die html-Anweisung:

    <div id="box2"><a href="indox.html" target="rechts"
            onMouseOver="Bildwechsel(0,Highlight1)"
         onMouseOut="Bildwechsel(0,Normal1)">
         <img src="Images/Menu/Banner/Home_oben.gif" width="10%" height="25%" border="0" alt="" ></a></div>

    Bildnr ist der indes des Bildes innerhalb des Dokumentes und nicht an der Stelle wo es abgebildet wird, sondern von dort wo es im HTML eingebunden wird. Insofern hast du dir den ungünstigsten Paramter ausgesucht.

    Auch sehe ich keiine Positionierung und wenn es ein gibt, dann läuft dieses Skript nicht mehr im NC 4.x

    Warum verwendest du nicht ein Skript was funktioniert? Es sollten doch sicher eine Millionen Skripte im Netz zu finden sein, die das machen, was du möchtest.

    Struppi.

    1. Hallo Struppi,

      Du liest hier doch öfters mit und solltest dir mit ein bisschen Mühe selber helfen könne, zumal das was du da machst an allen Ecken und enden krankt und das bei einem 3-Zeiler.

      Warum denkst Du, dass ich blutiger Anfänger das selber gerichtet kriege, wenn nicht mal Du mir helfen kannst, großer Meister?  Und was krankt der Code? Dann sag mir bitte warum und fang hier nicht an rumzuflamen!!! Dein einziges konstruktives Manko war, dass "dieser Browser-Mißt" überflüssig ist.

      Meinst Du? Meines Erachtens wird der JavaScript-EventHandler "onMouseOver" erst vom Internet Explorer ab Version 4.0 und vom Netscape Navigator ab Version 3.0 unterstützt. Ältere Browser generieren eine Fehlermeldung.

      Daher wird zuerst abgefragt, welche Browserversion verwendet wird um die Fehlermeldung abzufangen. Aber belehre mich eines Besseren! Wenn ich recht habe, kannst Du ja so tun, als wenn Du das hier nicht gelesen hast!

      Auch sehe ich keiine Positionierung und wenn es ein gibt, dann läuft dieses Skript nicht mehr im NC 4.x

      Hmm, worauf weißt das: 'id="box2"' nochmal hin??? Richtig, css.

      Warum verwendest du nicht ein Skript was funktioniert? Es sollten doch sicher eine Millionen Skripte im Netz zu finden sein, die das machen, was du möchtest.

      Genau das ist so eines. Die Browserabfrage habe ich mir aus dem Netz geholt, die Tauschfunktion und den html-Code aus dem Selfhtml. Allerdings habe ich noch nicht sehr viele (naja eher 0 als Millionen) Skripte gesehen, die mit Layern positionieren.

      Zu Deiner Antwort Struppi: Sicher ich lese hier etwas mit. Und sicherlich habe ich hier schon etwas gepostet, was ich im Archiv hätte finden können. Aber ich habe daraus gelernt und suche vorher! Aber ich habe nicht viel relevantes zum Thema Layer über externe .css mit Rolleffekt ausstatten gefunden. Es tut mir leid, wahrscheinlich habe ich einfach nur nicht gründlich gepostet.

      Deine Ausdrucksweise ist jedenfalls meines Erachtens etwas unangebracht, und der Inhalt ist auch nicht wirklich konstruktiv. Sicherlich ist die meine in diesem post auch, aber ich ärgere mich atm nur so stark.