• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mouseover-Hauptmenü

Rippie

Neues Mitglied
Im Rahmen der kompletten Neugestaltung meiner Website hatte ich mir auch Gedanken zum Hauptmenü gemacht. Während ich am Anfang noch dem Gedanken folgte, dass eigentliche Hauptmenü der Seite wieder mit Buttons vollzustopfen, fiel mir glücklicherweise ein längst untergegangener Blitzgedanke ein.
Irgendwann, als der Umbau der Seite noch längst nicht so umfangreich gedacht war, hatte ich mir überlegt eine Grafik in die Mitte zu setzen und drum herum die Buttons.
Jedes mal, wenn man einen dieser Buttons "mouseovert" (:p) sollte die Grafik dann anzeigen, was der Button meint, um ggf. auch Ausländischen Besuchern ohne Translator die Navigation zu vereinfachen und weil´s einfach gut aussehen würde.
Die Seite entsteht komplett in HTML. Die Seitenstruktur wird mit einer Tabelle erstellt, da CSS aufgrund der vielen verwendeten Ihnhaltstabellen ohnehin keinen wirklichen Effekt erziehlen kann.
Nun habe ich mich auch auf dieser Seite: Der Mouseover Effekt - onmouseover javascript beispiele script java scripte mouse-over mouse over mausover etwas zu dem Thema "onmouseover" und generell JavaScript belesen.
Ich bin da recht lernfähig und hab auch nach kurzer Zeit die Funktionen des Scripts einigermaßen verstanden.
Eine Basisfrage konnte mir die Seite allerdings nicht wirklich beantworten.
Wie erstellt man ein Mouseover von mehreren Buttons ohne ein mouseout verwenden zu müssen. Mit * kann man ja wohl schlecht arbeiten :D

Damit man ungefähr versteht, was ich mit so vorgenommen habe, hab ich mal eine kleine Seite erstellt :mrgreen:

Vorab - Alles was sich ändert oder geklickt wird, soll per Mouseover geschehen:
Unbenanntes Dokument

Man muss sich nun vorstellen, dass das nur der Body der Seite ist. darüber befindet sich noch der Header und ein Main-Navi.
Man gelangt nun von der Startseite mittels Main-Navi auf die oben gezeigte Seite und sieht in diesem Falle das komplette Haus.
Nun interessiert man sich fürs "Mauerwerk". Per Mouseover (Tebellenzelle falls möglich oder Button) erscheint ein Bild zum Mauerwerk, geht man auf die Andere Seite zu "Türen" erscheint ein Detailbild der Türen (ggf. per "zoom" mit jQuerry - aber nebensache) mit den jeweiligen Untermenüs werden dann Bilder der jeweiligen Farben gezeigt.
Tatsächlich soll in diesem Beispiel später die jeweilige Farbe durch eine Markierung der jeweiligen Teile der Tür ersetzt werden. Schaniere markiert die Schaniere, Fensterrahmen die Fensterrahmen usw.
Ist halt nur ein extrem vereinfachtes Beispiel :D
Die Hintergrundfärbung der Bereiche soll für dieses Beispiel quasie nur "aktive" oder eben "passive" Bereiche markieren.

Nun beschäftige ich mich erst seit heute Mittag mit Java und versuche mich da so gut es geht schlau zu machen.
Ich stelle mir vor allem diese Fragen:
1.) Kann man Tabellenzellen für einen onmousover definieren. (entspricht den jeweiligen Bereichen)
2.) Geht das auch mit einer Tabelle in einer Tabelle? (Entspricht Bereich Tür ->gelb)
3.) Angenommen beides geht. WÄre es notwendig oder einfacher den "onmouseout"-Befehl zu verwenden?
Zumindest innerhalb eines Bereichs wäre das ja unnütz, da für den User ja nur bestimmte Bereiche des jeweiligen Bildes markiert werden. Das Bild selbst ist im jeweiligen Bereich immer das gleiche.
Meiner Überlegung nach würde es reichen, wenn man "onmouseout" nur einmal um den jeweiligen bereich legt und bei Verlassen wieder das gesamte Haus gezeigt wird. Das würde den Übergang zu einem Anderen Bereich etwas angenehmer gestalten.
4.) Aber wie soll das gehen, wenn JavaScript nicht weiß, welches Bild gerade aktiv ist und ersetzt werden soll?

Vermutlich scheitert die Hilfe nun an dem vielen Text und weniger daran, dass keiner weiß, wo mein Problem ist.
Vielleicht kann mir ja jemand helfen. Sicher sogar :D


Achso, die jeweiligen "Farben" im Beispiel sind später gleichzeitig Links zu einem ausführlichen Text zum jeweiligen Bereich auf einer neuen Seite.

Danke für die Hilfe,
Gruß Chris
 
Nun beschäftige ich mich erst seit heute Mittag mit Java und versuche mich da so gut es geht schlau zu machen.

Dann solltest Du schon erkannt haben, dass es nicht Java ist womit Du dich beschäftigst sondern JavaScript.

1.) Kann man Tabellenzellen für einen onmousover definieren. (entspricht den jeweiligen Bereichen)

Natürlich.

2.) Geht das auch mit einer Tabelle in einer Tabelle? (Entspricht Bereich Tür ->gelb)

Natürlich, ist zwar semantischer Nonsens aber für deinen Fall vermutlich unabdingbar.

3.) Angenommen beides geht. WÄre es notwendig oder einfacher den "onmouseout"-Befehl zu verwenden?

Kommt drauf an was Du dir erhoffst. Wenn der per onmouseover gesetzte Wert bei Verlassen des Bereichs mit der Maus wieder zurückgesetzt werden soll, dann musst Du onmouseout verwenden.

4.) Aber wie soll das gehen, wenn JavaScript nicht weiß, welches Bild gerade aktiv ist und ersetzt werden soll?

Das kannst Du JavaScript mitteilen.

Vermutlich scheitert die Hilfe nun an dem vielen Text und weniger daran, dass keiner weiß, wo mein Problem ist.

Ja, ich weiß echt nicht wo dein Problem ist.
 
Danke für die Antworten. Ich hab mich da jetzt mit experimentieren recht schnell zu einem Ergebnis durchgeschlagen.
Die Basis-Bereiche funktionieren soweit, aber ich schaffe es nciht die Untermenüs damit auszustatten. Scheinbar überlagert der erste onmouseover-Befehl der übergordneten Tabelle alle Untergordneten Objekte.
Ich habe die Tabellenfelder jetzt mal sichtbar gemacht um es zu zeigen:
Unbenanntes Dokument

Wie kann ich jetzt den mouseover-Befehl der übergeordneten Tabelle für die jeweilige Zelle aufheben?

Danke, Gruß Chris
 
Meinst Du mit "übergeordnete Tabelle" z.B. die wo "weiß" steht und in der darüberliegenden Tabelle "Mauerwerk"? Das sollte eigentlich klappen.
 
ne, das ging nicht. Die Übergeordnete Tabelle (Mauerwerk) hatte vorrang vor der untergeordneten (weiß), weshalb der 2. Mousover-Befehl quasie wirkungslos blieb.
Ich hab die Sache jetzt "myway" gelöst ;)
Unbenanntes Dokument

Das ist wie gesagt ein vereinfachtes Beispiel. Die Tatsächliche Seite hat mit Häusern nicht viel am Hut. Es ging nur um das Prinzip. Die aktuelle Lösung ist für mein Menü ohnehin besser, da es schwachsinnig war die Tabellen ineinander zu stecken. Das wird mein tatsächlichen Menü auch nicht gemacht.

Wie auch immer, danke für die Hilfe, werde da sicher nochmal fragen haben.
Gruß Chris
 
Der den ich habe sieht so aus und funktoiniert auch :

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Unbenanntes Dokument</title><style type="text/css"><!--.fett {    font-weight: bold;}.b {    color: #666;}--></style><script type="text/javascript" language="JavaScript">image1 = new Image;image1.src = "house_base.png"; image2 = new Image; image2.src = "house_door_base.png";image3 = new Image;image3.src = "house_masonry_base.png";image4 = new Image;image4.src = "house_masonry_brown2.png";image5 = new Image;image5.src = "house_masonry_white.png";image6 = new Image;image6.src = "house_door_2.png";image7 = new Image;image7.src = "house_door_3.png";image8 = new Image;image8.src = "house_door_yellow.png";</script></head><body><p>Mein Haus - Übersicht</p><table width="100%" border="1">  <tr>    <td width="25%" height="58"     onMouseOver="house.src=image1.src"><a href="[URL="http://www.html.de/view-source:http://kadett-info.de/house/house.html"]house.html[/URL]">Basis</a></td>    <td width="5%" rowspan="5" onMouseOver="house.src=image3.src">&nbsp;</td>    <td width="54%">&nbsp;</td>    <td width="3%" rowspan="5" onMouseOver="house.src=image2.src">&nbsp;</td>    <td width="13%">&nbsp;</td>  </tr>  <tr>    <td align="center"     onMouseOver="house.src=image3.src">      <p>Mauerwerk    </p></td>    <td rowspan="4"><img src="[URL="http://www.html.de/view-source:http://kadett-info.de/house/house_base.png"]house_base.png[/URL]" width="633" height="481" name="house" /></td>    <td height="165" align="center" onMouseOver="house.src=image2.src"><p>Türen            </p></td>  </tr>  <tr>    <td     onMouseOver="house.src=image5.src"><span class="b">- weiß</span></td>    <td onMouseOver="house.src=image8.src"><span class="b">-gelb</span></td>  </tr>  <tr>    <td     onMouseOver="house.src=image4.src"><span class="b">-hellbraun</span></td>    <td onMouseOver="house.src=image6.src"><span class="b">-blau</span></td>  </tr>  <tr>    <td align="center"     onMouseOver="house.src=image3.src">&nbsp;</td>    <td onMouseOver="house.src=image7.src"><span class="b">-rot</span></td>  </tr></table><p>&nbsp;</p></body></html>
Hab mit dem Quelltext deiner Seite das Design gemacht ich hoffe ist gleich. MFG Marc2010
 
Zuletzt bearbeitet:
scheint identisch mit meinem Entwurf zu sein, oder hatte ich da einen Fehler drin?

Ich hab mal eine weitere Frage. Ich hatte mir ursprünglich mal einen Button erstellt. Ist der untere der beiden:
http://kadett-info.de/house/Unbenannt-1.html
Das funktionierte auch einwandfrei, bis ich feststellen musste, dass ich die Schrift manuell im Entwurf setzen muss, damit sie sich übersetzen lässt.
Dafür habe ich den Oberen Button nun als BG definiert und ihn mit JavaScript wieder zum Leben erweckt.
Was mich nun noch stört ist, dass die Schrift fix ist.
Wie kann ich das ändern. Die Schrift müsste beim onmouseover 2px nach unten und 2px nach rechts wandern um den gleichen Effekt wie beim Grafischen Button zu erziehlen.
Wie kann ich das mit JavaScript anpassen?

Vielen Dank für die Hilfe,

Gruß Chris
 
Zurück
Oben