Popupmenü Frameüberlappend anzeigen
Michael
- design/layout
Hallo,
ich habe folgendes Problem. Ich habe eine Seite mit drei frames. Einteilung 15%70%15%
Im ersten Frame habe ich ein Popup-Menü angelegt, welches die Untermenüs zu Seite hin öffnet. Wenn ich das Frame alleine teste sieht alles super gut aus und funktioniert. Sobald ich die Seite über den Index mit der oben aufgeführten Einteilung aufrufe, wird das Menü, welches durch on_mouseover sichtbar werden soll, nicht dargestellt da es durch die Framebegrenzung abgeschnitten wird. gibt es eine Möglichkeit ein Popup-Menü anzulegen, welches die Untermenüs Frameüberlappend darstellt, oder gibt es die Möglichkeit das Untermenü in einem anderen Frame anzeigen zu lassen ??
Vielen Dank im Voraus
Michael
Hallo,
ich habe folgendes Problem. Ich habe eine Seite mit drei frames. Einteilung 15%70%15%
Im ersten Frame habe ich ein Popup-Menü angelegt, welches die Untermenüs zu Seite hin öffnet. Wenn ich das Frame alleine teste sieht alles super gut aus und funktioniert. Sobald ich die Seite über den Index mit der oben aufgeführten Einteilung aufrufe, wird das Menü, welches durch on_mouseover sichtbar werden soll, nicht dargestellt da es durch die Framebegrenzung abgeschnitten wird. gibt es eine Möglichkeit ein Popup-Menü anzulegen, welches die Untermenüs Frameüberlappend darstellt, oder gibt es die Möglichkeit das Untermenü in einem anderen Frame anzeigen zu lassen ??
Guck mal, was ich finde wenn ich im Archiv nach 'frameübergreifend' suche:
Vermutlich ist das den du suchst: http://forum.de.selfhtml.org/archiv/2002/6/15666/#m87629
Struppi.
Hallo Struppi,
erstmal danke für die Schnelle Antwort.
Es könnte sein das es das ist was ich suche. Die Testseite ist leider nicht mehr online. Das du ne Ahnung wie ich das Untermenü in den anderen Frame bekomme??
Hallo Struppi,
erstmal danke für die Schnelle Antwort.
Es könnte sein das es das ist was ich suche. Die Testseite ist leider nicht mehr online. Das du ne Ahnung wie ich das Untermenü in den anderen Frame bekomme??
Hmm, es geht nur um das Untermenü? Dann musst du die untermenüs in derm größeren Frame anzeigen. Wie, das hängt von deinem Skript ab.
Allerdings ist frameüberlappend, zwar prinzipiell möglcih aber mit größeren Programmieraufwand verbunden.
Wobei es sowieso fraglich ist, ob es sinnvoll ist, solch ein Menü in HTML Seiten einzubauen, da du damit Besucher deiner Seite einschränkst. Und für Frames gilt auch, besser keine. Da Frames nur Nachteile haben (es sei den man hat ein langens Menü), es ist als Betrachter von HTML Seiten nicht angenehmer das Menü immer zu sehen, aber sie sind leichter und angenehmer zu lesen ohne Frames. Du machst dir mit solch einen Konzept mehr Arbeit und bringst dem Besucher eher weniger nutzen, als du es vermutlich ahnst.
Struppi.
Ich wollte mit den Untermenüs arbeiten, da der Scrollbalken sonst ins unendliche wächst. Mein Hintergedanke ist es aus den im Moment links und rechts angezeigten Menüs, eins auf der linken Seite zu machen. Dies geht aus Platzgründen (denke ich) nur mit aufklappbaren Untermenüs. Wenn ich es irgendwie schaffe das Untermenü in dem Mittleren Frame anzeigen zu lassen, dann kann ich den rechten Frame komplett rausnehmen. Falls ich das Menü in dem Mittlern Frame anzeigen lassen kann, benötige ich auch diese Frameüberlappung nicht mehr.
Im Moment habe ich es so realisiert:
<style type="text/css">
table { background-color: #0099ff; font-size: 18px; }
a {color:white; text-decoration: none;}
.obermenue { background-color: #000080; FONT-FAMILY: Verdana; font-size: 15px; FONT-WEIGHT: bold; }
</style>
<script language="JavaScript">
function klappAus(abc, abd) {
var dieZeile = document.getElementById(abc);
var dasLayer = document.getElementById(abd);
dieZeile.style.backgroundColor = "#0099ff";
dasLayer.style.visibility = "visible";
}
function klappEin(abc, abd) {
var dieZeile = document.getElementById(abc);
var dasLayer = document.getElementById(abd);
dieZeile.style.backgroundColor = "#000080";
dasLayer.style.visibility = "hidden";
}
</script>
</head>
<body text=#000000 vLink=#f0ffff aLink=#00ffff link=#f0ffff bgColor=#000080>
<div id="hof" style=" position: absolute; left: 0px; top: 0px; width: 130px; height: 300px;
z-index: 5; visibility: visible; overflow: hidden;" >
<table class="obermenue" width="100%" cellspacing="0" border="0" cellpadding="3">
<tr id="n_news" height="30" onMouseOver="klappAus('n_news', 'news')"
onMouseOut="klappEin('n_news', 'news')"><td><a>News</a> </td></tr>
</table>
</div>
<div id="news" style=" position: absolute; top: 0px; left: 130px; width: 100px; height: 300px;
z-index: 4; visibility: hidden; ">
<table cellspacing="0" border="0" cellpadding="3" width="100%" onMouseOver="klappAus('n_news', 'news')"
onMouseOut="klappEin('n_news', 'news')
">
<tr height="30"><td><a href="test.htm" target="Hauptframe">test</a> </td></tr>
</table>
</div>
</table>
</div>
</body>
</html>
Ich habe aber leider keine Ahnung wie ich den Part:
<div id="news" style=" position: absolute; top: 0px; left: 130px; width: 100px; height: 300px;
z-index: 4; visibility: hidden; ">
<table cellspacing="0" border="0" cellpadding="3" width="100%" onMouseOver="klappAus('n_news', 'news')"
onMouseOut="klappEin('n_news', 'news')
">
<tr height="30"><td><a href="test.htm" target="Hauptframe">test</a> </td></tr>
</table>
in den mittleren Frame bekomme.
Hast DU da eine Idee??
Ich wollte mit den Untermenüs arbeiten, da der Scrollbalken sonst ins unendliche wächst. Mein Hintergedanke ist es aus den im Moment links und rechts angezeigten Menüs, eins auf der linken Seite zu machen. Dies geht aus Platzgründen (denke ich) nur mit aufklappbaren Untermenüs. Wenn ich es irgendwie schaffe das Untermenü in dem Mittleren Frame anzeigen zu lassen, dann kann ich den rechten Frame komplett rausnehmen. Falls ich das Menü in dem Mittlern Frame anzeigen lassen kann, benötige ich auch diese Frameüberlappung nicht mehr.
Ich kenne diese Art von Menüs, halte sie aber, wie gesagt, auf Internetseiten nicht für sinnvoll, da dort der Besucher ein Ziel verfolgt und es nicht nötig ist, von jeder Seite auf jede andere deiner Site zu kommen. Eine durchdachte Verzeichnissstruktur, sinnvoller Inhalt und nicht zu fette HTML Seiten, daraus sind Seiten, die man sich gerne anguckt und das dann auch mal öfters.
Seiten die nur dann und wann funktionieren, die voller Code sind (denn man dann noch nicht mal sieht, weil die Layer erst auf unsichtbar stehen), das sind Seiten, wo man einmal draufblickt und nicht wiederkommt.
Im Moment habe ich es so realisiert:
Das alles funktioniert nur in Browsern > Version 4.
Um Layer in anderne Frames anzusprechen, musst du nur referenzierung anpassen.
<script language="JavaScript">
function klappAus(abc, abd) {
var dieZeile = document.getElementById(abc);
Hier: parent[name_des_mittleren_frames.getElementById(abc);
Aber das Problem ist, das das Menü ja wieder ausgeblendet wird, wenn die Maus sich aus der Tabellenzelle bewegt. Insofern ist so keine Lösung möglich, selbst wenn man etwas tricksen würde mit Layern die teilweise in den einem und in den anderen angezeigt wird (was sehr aufwendig ist).
Wie gesagt, sinnvolle Verzeichnissstruktur hilft viel mehr als solch zweifelhafte Menüs.
aber das ist nur meine persönliche Meinung (in Verbindung mit der Erfahrung, sowohl beim Seiten bauen, als auch beim zuschauen von Leuten beim surfen)
Struppi.
Danke für die Info´s
ich denke ich werde den ganzen Aufbau nochmal durchdenken und den von dir vorgeschlagenen Weg wählen