Das Menü funzt net so ganz...
ali
- javascript
0 Aleksej V.0 ali0 Aleksej V.0 ali
Hi!
Habe wie man unten unschwer erkennen kann ein dynamisches Menü geschrieben.
Problem: Es klappt noch nicht so ganz...
<script type="text/javascript">
<!--
// Configuration
bgColor = "#A4A4A4";
borderColor = "#FFFFFF";
fontFace = "Arial";
fontSize = "2";
fontColor = "#6E6E6E";
normalItem = "#A4A4A4";
hilightItem = "#FFFFFF";
// - - - - - - -
function makeItem() {
no = Item;
var Item = new Array();
Item[0] = ["Startseite", "index.htm", "News", "news.htm"];
Item[1] = ["Auftrag", "auftrag.htm", "Progr. Sprach.", "progr_spr.htm", "Grafikdesign", "grafikdesign.htm"];
Item[2] = ["JS FADE", "js_fade.htm", "JS MENU", "js_menu.htm"];
Item[3] = ["Demovorlagen", "demovorlagen.htm", "Referenzliste", "referenzliste.htm"];
Item[4] = ["Kontaktformular", "kontaktformular.htm", "Impressum", "impressum.htm"];
for(i = 0; i < Item.length; i++) {
Menu = new Array();
Menu[i] = "<table width="102" bgcolor="" + bgColor + "" cellspacing="0" cellpadding="3" style="border-bottom: 1px solid " + borderColor + "; border-left: 1px solid " + borderColor + "; border-right: 1px solid " + borderColor + ";">";
for(var j = 1; j < Item[i].length; j+=2) {
Menu[i] += "<tr><td style="cursor: hand" onMouseOver="this.style.backgroundColor='" + hilightItem + "';" onMouseOut="this.style.backgroundColor='" + normalItem + "';" onClick="window.location.href='" + Item[i][j] + "';"><font face="" + fontFace + "" size="" + fontSize + "" color="" + fontColor + "">" + Item[i][j-1] + "</font></td></tr>";
}
Menu[i] += "</table>";
}
}
function makeMenu() {
makeItem();
if(ie4up) {
document.write("<div id="Menu[i]" style="position: absolute; top: 200px; left: 10px"; onMouseOut="closeMenu();">" + Menu[i] + "</div>");
}
if(ns6) {
document.write("<div id="Menu[i]" style="position: absolute; top: 200px; left: 10px"; onMouseOut="closeMenu();">" + Menu[i] + "</div>");
}
}
function showMenu(no) {
makeMenu();
if(ie4up) {
Menu[no].style.pixelTop=document.body.scrollTop;
}
if(ns6) {
document.getElementById("Menu[no]").style.top=0;
}
}
function closeMenu() {
makeMenu();
if(ie4up) {
Menu[i].style.pixelTop = -200;
}
if(ns6) {
document.getElementById("Menu[i]").style.top = -200;
}
}
ie4up = document.all ? 1 : 0;
ns6 = (document.getElementById && !document.all) ? 1 : 0;
//-->
</script>
Die Funktion "showMenu" wird mit einem onMouseOver="showMenu(Menü Nr. zB. 1);" gestartet.
Bitte schaut es euch an, ich find meinen Fehler echt net!
Gruss ali
Hallo,
(...)
function makeMenu() {
makeItem();
if(ie4up) {
document.write("<div id="Menu[i]" style="position: absolute; top: 200px; left: 10px"; onMouseOut="closeMenu();">" + Menu[i] + "</div>");
}
if(ns6) {
document.write("<div id="Menu[i]" style="position: absolute; top: 200px; left: 10px"; onMouseOut="closeMenu();">" + Menu[i] + "</div>");
}
}
function showMenu(no) {
makeMenu();
Soll beim überfahren das menu generiert werden? du kannst nach dem laden der seite nicht's mehr mit document.write einfügen.
(...)
Die Funktion "showMenu" wird mit einem onMouseOver="showMenu(Menü Nr. zB. 1);" gestartet.
Bitte schaut es euch an, ich find meinen Fehler echt net!
Das nächste mal wär ein link besser. ein tipp für's menu: generier alle menus beim laden und versehe sie mit visibility:hidden in css, dann kannst du sie einfach per document.getElementById('').style.visibility = 'visible'; sichtbar machen und umgekehrt.
Grüße aus Düsseldorf,
Hi!
Ähh, ich versteh nicht ganz was du meinst...
Also:
Mit makeItem() werden die Menüs aus den vorhandenen Daten "Item" und deren Elementen zusammengebaut. Lassen wir Funktion "closeMenu()" erstmal weg, da wir erstmal ein sichtbares Menü haben wollen. Also bleiben noch 1. Funktion "makeMenu()" und 2. Funktion "showMenu()".
makeMenu() soll also nur die zusammengebauten Menüs positionieren/ausrichten.
Und showMenu() soll die Menüs einzeln anzeigen (welches mit onMouseOver gerade gewählt wurde).
Bitte helft mir nochmal!
Gruss ali
Hallo,
Hi!
Ähh, ich versteh nicht ganz was du meinst...
Also:
Mit makeItem() werden die Menüs aus den vorhandenen Daten "Item" und deren Elementen zusammengebaut.
wann? wärend dem laden, oder erst wenn das Mouseover kommt? kannst du die page komlett hochladen und einen link geben?
Grüße aus Düsseldorf,
nein kann ich leider nicht!
das menü soll nach dem überfahren des buttons (also bei onMouseOver) kommen.
gruss ali