hilfe!! ich komm net weiter...
dsf
- javascript
hi!
habe ein kleines prob.
hier:
function showMenu(menuNo) {
if(ie4up) {
Menu[menuNo].style.pixelTop = document.body.scrollTop;
}
if(ns6) {
document.getElementById("Menu[menuNo]").style.top=0;
}
}
was ist daran falsch? (die ie4up und ns6 variablen sind korrekt gesetzt.) bekomme den fehler: 'Menu[...].style' ist Null oder kein Object. woran könnte es liegen?
gruss dsf
Hi,
woran könnte es liegen?
Menu[menuNo] ist nicht definiert.
Desweiteren solltest du in Zukunft *etwas* genauer, hoeflicher und forumsregelnbeachtender[tm] sein.
Schoene Gruesse,
Dave
leute, ihr habt mir beide net geholfen!
es geht doch zum teufel net darum, ob es mehr als 2 browser gibt (opera hat fast keiner)! und es geht auch net darum, ob irgendwas mit dem doc net stimmt. die variable mr. schlaumeier ist definiert! normalerweise könnte sich jeder, der sich halbwegs mit javascript auskennt denken wo diese definiert ist. na..? richtig in einem onMouse-TAG. aber naja, was will ich von so einem schon erwarten. größe töne reißen aber nischt drauf haben.
gruss dsf
Hi,
...bla, bla, bla...
Ist ja Okay schaetzchen, reg dich nicht auf... *g*
Nee, mal im ernst, es gibt ja auch solche Spezis, die das glatt vergessen...
Wie waers mal mit einem groesseren QT-ausschnitt? Vielleicht koennen wir dir dann helfen...
Schoene Gruesse,
Dave
ok, kein prob.
hier:
<script type="text/javascript">
<!--
// Configuration
bgColor = "#A4A4A4";
borderColor = "#FFFFFF";
fontFace = "Arial";
fontSize = "2";
fontColor = "#6E6E6E";
normalItem = "#A4A4A4";
hilightItem = "#FFFFFF";
// -------------
var Item = new Array();
// Menuitems
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] = "<div id="Menu" style="position: absolute; top: 200px; left: 10px"; onMouseOut="closeMenu();"><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></div>";
}
ie4up = document.all ? 1 : 0;
ns6 = (document.getElementById && !document.all) ? 1 : 0;
if(ie4up) {
for(var j = 0; i < Menu.length; i++) {
document.write("<div id="Menu[j]" style="position:absolute; top:-200px; left:10px; background-color:#FFFFFF; z-index:2">" + Menu[j] + "</div>\n");
}
}
if(ns6) {
for(var j = 0; i < Menu.length; i++) {
document.write("<div id="Menu[j]" style="position:absolute; top:-200px; left:10px; background-color:#FFFFFF; z-index:2">" + Menu[j] + "</div>\n");
}
}
function showMenu(menuNo) {
if(ie4up) {
Menu[menuNo].style.pixelTop = document.body.scrollTop;
}
if(ns6) {
document.getElementById("Menu[menuNo]").style.top=0;
}
}
//-->
</script>
und mit dem hier: <a href="index.htm" onMouseOver="changePic(1, Startseite); showMenu(4);" onMouseOut="changePic(0, Startseite);"><img src="pictures/startseite_1.bmp" border="0" name="Startseite"></a>
rufe ich die funktion auf. funktion changePic is ne andere (schon funktionierende funktion ;) ), die das bild wechselt. erreichen möchte ich mit funktion showMenu, dass sich ein dyn. menü aufklappt.
gruss dsf
Hi,
also du koenntest mal (bei beiden Browsern) document.getElementById("Menu" + MenuNo).style.top = "wievielduhalthabenwillst"; versuchen. Liegt naemlich IMHO an der Schreibweise von Menu[MenuNo]. Muss aber nicht sein. Am besten wird es sein, wenn du selber noch mal nachliest unter http://selfhtml.teamone.de/javascript/objekte/document.htm,
tja dave, am ende macht man's lieber selbst.
ich habe den fehler gefunden.
hier (ganz simpel ;) ):
if(ie4up) {
for(var j = 0; DAS HIER MUSS EIN "J" sein -> i < Menu.length; UND HIER AUCH -> i++) {
document.write("<div id="Menu[j]" style="position:absolute; top:-200px; left:10px; background-color:#FFFFFF; z-index:2">" + Menu[j] + "</div>\n");
}
das gleiche gilt natürlich noch für die Netscape version.
gruss dsf
Hi,
tja dave, am ende macht man's lieber selbst.
Sag ich auch immer zu mir *g*
Schoene Gruesse,
Dave
Hi,
document.getElementById("Menu[menuNo]").style.top=0;
dann müßte das Element id="Menu[menuNo]" als Attribut haben. Ist das wirklich der Fall?
Achso, nochwas, es gibt mehr als 2 verschiedene Browser...
cu,
Andreas
Der Optimist: Das Glas ist halbvoll.
Der Pessimist: Das Glas ist halbleer.
Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
Der Realist: Das Glas ist.
und der Praktiker trinkt das Glas aus *SCNR*
Schoene Gruesse,
Dave