Peter: Ist die Frage wirklich sooo doof...

.. oder kann sie nur keiner beantworten?

Hi nochmals,
das Problem besteht weiterhin und es hat sich noch keiner gefunden, der es lösen will (kann?).

Stand:MouseOver sollen zeigen, daß sich hinter einer Grafik ein Link verbirgt. Klickt man in
einem festen Navigationsframe auf einen Grafiklink (mit MouseOver) dann wird im anderen Frame der Inhalt angezeigt.

Problem: der MouseOver ist jetzt immer noch aktiv, obwohl man nirgendwo anders hingelangt.

Das Problem ist nicht der MouseOver, sondern die weiterhin aktive Grafik.
Beispiel:
Fahre ich über einen Button, leuchtet dieser auf. Das ist kein Problem.
Klicke ich auf diesen Button, gelange ich zur entsprechenden Unterseite. Soweit OK. Jetzt
sollte der entsprechende Butten natürlich permanent aufleuchten (passiv), da ich mich ja auf
der Seite befinde auf die er verweist.
Ansonsten ist ja der Signaleffekt - was aufleuchtet, ist ein Link - nicht mehr konsequent
eingesetzt.

Gruß Peter

  1. Hi Peter,

    das Problem besteht weiterhin und es hat sich noch keiner gefunden, der es lösen will > (kann?).

    Vielleicht weiß ich, was Du meinst. Und ich habe diesbezüglich auch mal was gemacht. Aber ob das nun DIE Lösung ist, will ich Dir nicht wünschen, denn dann ist es pure Fleißarbeit. Indem Du nämlich jedes Frame neu anlegen mußt, mit jedem angeklickten Button. Wenn Du magst, schau Dir mal http://www.computersky.com und dort nicht den Shop, sondern die eigentliche Firmenpräsentation an. Ich wünsche Dir jedenfalls, daß jemand eine praktischere Lösung hat.
    Gruß Jutta

  2. Hallo Peter,

    Beispiel:
    Fahre ich über einen Button, leuchtet dieser auf. Das ist kein Problem.Klicke ich auf diesen Button, gelange ich zur entsprechenden Unterseite. Soweit OK. Jetzt sollte der entsprechende Butten natürlich permanent aufleuchten (passiv), da ich mich ja auf
    der Seite befinde auf die er verweist.

    Ansonsten ist ja der Signaleffekt - was aufleuchtet, ist ein Link - nicht mehr konsequent eingesetzt.

    Ich kenne da nur die etwas unelegante HTML-Methode. Ich würde für die Zielseite einen vollständigen Frame verwenden, mit Rand (hier ist dann die permanent leuchtende Grafik) und Textseite.

    Wenn Du nun in Deinem Originalframe (hier wackelt die Grafik noch bei MouseOver) die Grafik anklickst, dann wird der ganze neue Frame aufgerufen und nicht wie bisher nur die Textseite in dem "Teil-"Frame angezeigt.

    Viele Grüße Birgit

  3. .. oder kann sie nur keiner beantworten?

    Ich denke nicht, daß es eine Frage gibt, die dir hier keiner beantwortet (Geduld!)

    Stand:MouseOver sollen zeigen, daß sich hinter einer Grafik ein Link verbirgt. Klickt man in
    einem festen Navigationsframe auf einen Grafiklink (mit MouseOver) dann wird im anderen Frame der Inhalt angezeigt.

    Wenn ich dich richtig verstehe, hast du mehrere Grafiken. Jede Grafik soll aufleuchten, wenn man darüberfährt und wieder normal werden, wenn die Maus weggeht. Wenn man auf die Grafik klickt, dann soll sie permanent leuchten.

    Ich würde das ganze so lösen:
    Du fängst für jede Grafik (ihren Link) onMouseOver, onMouseOut und onClick ab.
    Diese Ereignisse rufen Funktionen auf und übergeben eine Nummer zur Identifizierung.
    Bei onClick änderst du die Grafik und speicherst in einer Variable (z.B. NrAktiv o.ä.) die Nummer der Grafik ab.
    Bei onMouseOver änderst du nur die Grafik.
    Bei onMouseOut überprüfst du, ob die Nr. der Grafik mit NrAktiv übereinstimmt. Wenn nicht, anderst du die Grafik wieder in den Normalzustand.

    Gruß Peter

    Ich hoffe, das hilft dir weiter. (bzw: Ich hoffe ich habe dein Problem richtig verstanden.)

    Gruß
      Stefan

    1. Gute Idee,

      OK, hier ist ein Beispiel. Leider ist das Skript nicht ganz zuverlässig und - wie ich glaube - etwas zu kompliziert.
      Das Problem tritt auf wenn man wieder auf eine alte Seite zurückkehrt. Dann läd der alte Button nicht sofort und es gibt diese häßlichen Lückenfüller.
      Hier das Skript:

      #####im Head:
      Definition der Variablen etc.

      function activeMenue() {
      if( browserOk == 1 ) {
        var imgidx = activeMenue.arguments[0];
        if( currArea != imgidx && currIdx != imgidx ) {
         var theImg = document.images[ imgidx ];
         idxPassive = theImg.src;
         theImg.src = activeMenue.arguments[1];
         currIdx = imgidx;
        }
      }
      }

      function passiveMenue() {
      if( browserOk == 1 ) {
        var imgidx = passiveMenue.arguments[0];
        if( currArea != imgidx ) {
         var theImg = document.images[ imgidx ];
         theImg.src = passiveMenue.arguments[1];
         if( imgidx == currIdx ) {
          currIdx = -1;
          idxPassive = "";
         }
        }
      }
      }

      function doMenue() {
      if( browserOk == 1 ) {
        var imgidx = doMenue.arguments[0];
        if(currArea != imgidx && currArea >= 0)
         { var theImg = document.images[ currArea ];
         theImg.src = areaPassive; }
        if( currIdx != imgidx )
         {activeMenue( imgidx, doMenue.arguments[1] ); }
        areaPassive = idxPassive;
        currArea = imgidx;
      }
      }

      und im Body:

      <A HREF="URL.htm" TARGET="_blanc"

      onMouseOver="activeMenue(1,'images/r_Bild.gif');
      window.status='Dada'; return true"
      onMouseOut="passiveMenue(1,'images/Bild.gif'); return true"
      onClick="doMenue(1,'images/pug.gif');">
      <IMG SRC="images/Bild.gif" WIDTH="180" HEIGHT="20" BORDER="0"></A><BR>

      Würde mich freuen, wenn jemand eine bessere Lösung findet.

      Gruß Peter

      1. Gute Idee,

        OK, hier ist ein Beispiel. Leider ist das Skript nicht ganz zuverlässig und - wie ich glaube - etwas zu kompliziert.

        Sorry, mit diesem Script kann man nichts anfangen, ist schliesslich unvollstaendig.
        Ohne Deklarationen bzw. Initialisierungen?
        Wo kommen die Objekte her, die da benutzt werden?

        Nein, bitte  nicht vollstaendig posten.
        Nimm einfach die Idee von Stefan. Die ist haarscharf das, was Du brauchst.
        Genau so macht man das. Einfacher geht's wirklich nicht.

        Christine