Ergebnis 1 bis 5 von 5

Thema: OnMouseOver/Out bei aktivem Link ausschalten?

  1. #1
    eddy
    Gast

    Standard OnMouseOver/Out bei aktivem Link ausschalten?

    Folgendes Problem: Ich habe mehrere Grafiken, welche als menü dienen. Wenn man jetzt zum Beispiel auf die Grafik "Links" drückt, ändert sich diese Grafik. -Ich benutze onClick, onMouseOver, und OnMouseOut. -Da habe ich jetzt leider das Problem, dass wenn man clickt, sich die Grafik ändert, aber sobald man von dieser wieder weggeht, wieder die Grafik von OnMouseOut kommt...! -Logisch, aber dass soll so nicht sein.
    Kriget man es irgendwie hin, dass die Grafik, die bei OnClick kommen soll, auch da bleibt bis man ein anderes Bild anclickt? So dass die onMouseOver und OnMouseOut Funktion, bei dem aktiven Bild ausgeschaltet ist?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Kaiserliche Hoheit
    Registriert seit
    22.02.2005
    Beiträge
    1.558
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich hatte ein ähnliches Problem und habe es über eine kleine JS-Fkt. gelöst. Dieser Funktion übergebe ich den momentan aktivierten
    (also eingetasteten) Menüpunkt (genauer dessen ID) und dieses Script ändert dann die zugehörige Grafik.

    Z.B. -> du hast 3 Menüpunkte mit den ID's 1,2 und 3. Jedem Punkt gibst du als Anweisung für onMouseOver/onMouseOut folgendes:
    "mouseOverFkt(<?echo$itemID;?>"
    Dies setzt voraus, dass dein PHP-Script den momentan aktiven Menüpunkt (genauer dessen ID) in $itemID gespeichert hält. Oder du musst
    halt Festwerte (1,2,3) vergeben.
    Ok, deine Fkt. mouseOverFkt() erhält nun als Parameter die ID des momentan aktiven Menüpunktes. Aufgabe der Funktion ist es ,
    jeweils die onMouseOver/onMouseOut-Grafiken zu wechseln -> ES SEI DENN: der momentan aktive Menüpunkt wird mit dem Mauszeiger
    verlassen. Dann darf die onMouseOver-Grafik nicht ersetzt werden.
    Somit wechseln die onMouseOver/onMouseOut-Grafiken wie gewohnt, nur mit dem Unterschied, dass der momentan aktive Menüpunkt
    keine onMouseOut-Grafik erhält.

    Klingt ein wenig kompliziert, ist aber ziemlich einfach und der gut strukturierte Quellcode ist sicher nur 4-5 Zeilen lang.

    Versuch es mal und sonst meldest dich halt wieder hier.
    "Carpe Diem" powered by positiv Feelings

  3. #3
    eddy
    Gast

    Standard

    Hey, ersteinmal danke für deine Antwort, klingt zwar alles sehr logisch, abe rich kapiere es trotzdem irgendwie nicht!?
    Kannste das nochmal näher Erklären, oder ein Beispiel geben?

  4. #4
    Kaiserliche Hoheit
    Registriert seit
    22.02.2005
    Beiträge
    1.558
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ja klar gern. Hatte unterdessen bemerkt, dass ich ne Kleinigkeit vergessen hatte. Das hole ich nun nach.

    b@ck in 10min ...
    "Carpe Diem" powered by positiv Feelings

  5. #5
    Kaiserliche Hoheit
    Registriert seit
    22.02.2005
    Beiträge
    1.558
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hier mal ein ganz einfacher Entwurf, der es glaub ich so zeigt wie du es brauchst: mouseOverFkt-Testseite

    Ok, also nicht erschrecken. Ich poste einfach mal den gesamten Code der Testseite:
    Code:
    <html>
    <head>
    <title>mouseOverFkt-Test</title>
    </head>
    <script language="javascript" type="text/javascript">
    <!--
    
      function mouseOverFkt&#40;currentItem, activeItem, mode&#41; &#123;
        // tauscht die Grafik von elemRef aus
        // currentItem - bezeichnet die zu verändernde Grafik
        // activeItem  - bezeichnet die Grafik des momentan aktiven Menüpunkts
        // mode - gibt an ob MouseOver oder MouseOut erfolgen soll
      	var imgID   = "item"+currentItem;
      	var elemRef = document.getElementById&#40;imgID&#41;;
        switch&#40;mode&#41; &#123;
          case "over"&#58;// MouseOver
                      elemRef.src = new String&#40;"item"+currentItem+"_over.gif"&#41;;
                      break;
          case "out"&#58; // MouseOut
                      if &#40;currentItem != activeItem&#41;
                        elemRef.src = new String&#40;"item"+currentItem+"_norm.gif"&#41;;
                      else
                        elemRef.src = new String&#40;"item"+currentItem+"_active.gif"&#41;;
                      break;
        &#125;
      &#125;
      
      function setActiveItem&#40;itemID&#41; &#123;
        // setzt die active-Grafik des Item mit der ID itemID
      	var imgID   = "item"+itemID;
      	var elemRef = document.getElementById&#40;imgID&#41;;
      	elemRef.src = new String&#40;"item"+itemID+"_active.gif"&#41;;
      &#125;
    
    -->
    </script>
    <body>
    <?
      if &#40;!isset&#40;$item&#41;&#41; $item = 1;
    
    ?>
      <table width="90%" border="1" cellspacing="0" cellpadding="0">
      <colgroup>
        <col width="20%">
        <col width="80%">
      </colgroup>
      <tr>
        <td>
          [img]item1_norm.gif[/img], 'over'&#41;;"
               onMouseOut="mouseOverFkt&#40;1, <?echo$item;?>, 'out'&#41;;"
               onClick="window.location.href='mover.php?item=1';">
        </td>
        <td>
          <h3>aktueller Menüpunkt&#58; <? echo $item; ?>
        </td>
      </tr>
      <tr>
        <td>
          [img]item2_norm.gif[/img], 'over'&#41;;"
               onMouseOut="mouseOverFkt&#40;2, <?echo$item;?>, 'out'&#41;;"
               onClick="window.location.href='mover.php?item=2';">
        </td>
        <td>
          
        </td>
      </tr>
      <tr>
        <td>
          [img]item3_norm.gif[/img], 'over'&#41;;"
               onMouseOut="mouseOverFkt&#40;3, <?echo$item;?>, 'out'&#41;;"
               onClick="window.location.href='mover.php?item=3';">
        </td>
        <td>
          
        </td>
      </tr>
      </table>
      
      <script language="javascript" type="text/javascript">
      <!--
        setActiveItem&#40;<?echo$item;?>&#41;;
      -->
      </script>
      
    </body>
    </html>
    Eine kurze Erläuterung:
    * in der PHP-Variable $item ist die Id des momentan aktiven Menüpunktes gespeichert
    * mit Klick auf die Grafiken wird diese ID geändert und per URL übergeben
    * beim 1. Aufruf der Seite existiert $item nicht und wird mit 1 initialisiert
    * nach jedem Seitenaufbau die Grafik des aktiven Items auf "active" gesetzt
    * in der mouseOverFkt wird somit der normale Vorgang (onMouseOver/onMouseOut) durchgeführt
    * einzig bei dem Item des momentan aktiven Menüpunktes wird die Grafik nicht auf "norm" gewechselt

    Naja, schau mal ob du damit klar kommst. Sonst frag ruhig nochmal...
    "Carpe Diem" powered by positiv Feelings

Ähnliche Themen

  1. O2 Rufweiterleitung ausschalten !
    Von albi1985 im Forum Off Topic und Quasselbox
    Antworten: 1
    Letzter Beitrag: 06.03.2007, 16:20
  2. Scrollbar ausschalten...
    Von Dominikgt im Forum HTML & CSS Forum
    Antworten: 25
    Letzter Beitrag: 10.02.2007, 17:53
  3. kolophon ausschalten
    Von driver im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 3
    Letzter Beitrag: 11.04.2006, 22:56
  4. Ausschalten der Hintergrundmusik
    Von im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 14.05.2004, 17:43
  5. Hintergrundmusik ein und ausschalten
    Von Imago im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 02.05.2004, 23:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •