Antworten auf deine Fragen:
Neues Thema erstellen

Menü richtig positionieren

daimonion

Nicht mehr ganz neu hier

Ich bin gerade dabei für eine Bekannte eine Internetseite zu gestalten und hänge ein wenig an der korrekten Positionierung des Menüs.

Hier erst mal der derzeitige Status der Seite: Meisterkonditorei Kirsch

Als Menüvorbild hab ich mir das Menü von Spruengli.ch.de genommen.

Vielleicht erst mal ein wenig Code.
Aufgerufen wird das Menü mittels mouseOver Event:

Code:
<div id="menupoint1" class="menupoint" onMouseOver="showMenu('menupoint1','Menu1')">Torten</div>

Die Funktion showMenu sieht derzeit so aus:

Code:
function showMenu(mpoint, menu) {
	var menupoint = document.getElementById(mpoint);
	//neue Elemente generieren
	var MenuBox = document.createElement("div");
	MenuBox.id = "Menubox1";
	
	for (i = 0 ; i < Menu1.length ; i++) {
		MenuBox.appendChild(document.createTextNode(Menu1[i]));
		MenuBox.appendChild(document.createElement("br"));
	}
	
	//Eigenschaften vergeben
	MenuBox.style.width = 150 + "px";
	MenuBox.style.backgroundColor = "#4a2910";
	MenuBox.style.color = "#FFFFFF";
		
	//menubox positionieren
	MenuBox.style.position = "absolute";
	
	MenuBox.style.left = menupoint.style.left;
	MenuBox.style.top = menupoint.style.top;
	
	//Event für das MouseOut Ereignis hinzufügen
	if (MenuBox.addEventListener) {
		MenuBox.addEventListener("mouseout", hideMenus, false);
   	} else if (MenuBox.attachEvent) {
		MenuBox.attachEvent("onmouseout", hideMenus);
   	}
	
	
	//Objekt im Dom einfügen
	menupoint.parentNode.insertBefore(MenuBox,menupoint.nextSibling);
	
};

function hideMenus() {
	var Menubox = document.getElementById("Menubox1");
	Menubox.parentNode.removeChild(Menubox);
	
};

Die Funktion ist lange noch nicht fertig, daher kann es sein, dass die ein oder andere Codezeile noch nicht sauber implementiert ist.

Momentan liefert dieses Stück Code folgendes Ergebnis in eigentlich allen Browsern:



Nun könnte man meinen, dass die beiden Zeilen

Code:
	MenuBox.style.left = menupoint.style.left;
	MenuBox.style.top = menupoint.style.top;

für dieses Ergebnis verantwortlich sind, aber das ist nur im ersten Moment so, da die Eigenschaft top bzw. left beim CSS Layout für menupoint gar nicht vergeben sind, diese Felder unter JS somit quasi leer sind. Die derzeitige Position ist somit eine Interpretation der Browser.

Wenn ich nun anstelle:
Code:
MenuBox.style.top = 225 + 'px';

in der Funktion schreibe, dann zeigt mir mein Opera das zwar mit korrektem Abstand an, aber die anderen Browser interpretieren die Massangabe natürlich anders und es kommt wieder zu Verschiebungen. Ganz schlimm ist der IE7, der die Eigenschaft left völlig versaut (Über den Kompatibilitätsmodus angeschaut.)


Nun mein Frage an euch. Wie kann ich denn die Positionierung bewerkstelligen, dass sie Konform mit CSS ist und auch in allen relevanten Browsern (Opera, FF > 3, IE > 7, Safari, Chrome) gleich dargestellt werden kann?

Danke für eure Hinweise.

Grüße
Daimonion
 

tomtom

css/cms-learning

AW: Menü richtig positionieren

Als Menüvorbild hab ich mir das Menü von Spruengli.ch.de genommen.

gehört nicht zum thema: aber ich habe mal eine frage zu dem o.g. link. wenn man dort im footer einen link (z.b. agb) besucht, öffnet sich eine kleine popup-box mit scrollbalken. wie wird sowas gemacht, sorry für diese blöde frage. gibt es evtl. von euch weitere links, wo man sich sowas anschauen kann. ich hoffe, ihr versteht meine frage. lg der tom.
 

daimonion

Nicht mehr ganz neu hier

AW: Menü richtig positionieren

Im großen und ganzen kannst du das auch mit der Funktion machen, die ich oben gepostet habe, es geht auch noch mit sogenannten Javascript Frameworks wie Greybox, Lightbox, prototype (bei dem bin ich mir jetzt aber nicht sicher).

Grundlage aller ist das Verständnis von Javascript und dem DOM (Document Object Model).

Beides kannst du unter SELFHTML: JavaScript/DOM lesen und erlernen.

Viel Spaß und weitere Fragen bitte in einen Extra Thread.

Grüße
Daimonion
 

daimonion

Nicht mehr ganz neu hier

AW: Menü richtig positionieren

Auf der Webseite hab ich es auch noch nicht Online geschalten. Bisher hab ich das nur lokal.

Aber ich hab gerade eben mal eine Testseite geschalten, wo das Menü aktiviert ist.
 

Chickenshooter

Alter Mann

AW: Menü richtig positionieren

Anstatt das Rad neu zu erfinden nutze es doch einfach

für die Navi hier:

Du ein fertiges JS-Framework mit Animation etc....

MfG
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben