mrtanooki
09-12-2004, 09:53 PM
its me again, and i'm still working on the same code.
assume menu.length = 3;
for (menulen=0; menulen!=menu.length; menulen++) {
..........
linkelement.onmouseover = function() { expand(menulen); };
..........
}
the problem i'm having now is that EVERY linkelement uses expand(3) instead of the number of the loop it was on. i don't even understand how it got to 3, seeing as how its supposed to stop at 2.
here's my code yet again:
<script type="text/javascript">
var idgroups = new Array();
var menulist = document.createElement("ul");
var submenulist;
var menulist;
var menuitem;
var linkelement;
var sublinkelement;
var menuelement = document.getElementById("menu");
var menuitemname;
var submenuitemname;
var menuitemvalue;
var menu = new Array();
var menuvars = new Array();
var submenu = new Array();
var subvars;
var menu = ["One","Two","Three"];
var menuvars = ["assassinate","your","parents"];
var submenu = [new Array("HEH","heh","hEh"),new Array("Rofl","Lmao","LoL"),new Array("I","like","poop")];
var subvars = [new Array("...","...","..."),new Array("...","...","..."),new Array("...","...","...")];
var submenucontent = new Array();
function buildmenu() {
menuelement = document.getElementById("menu");
for (menulen=0; menulen!=menu.length; menulen++) {
// here we create teh menu items
menuitem = document.createElement("li");
linkelement = document.createElement("a");
linkelement.setAttribute("href",menuvars[menulen]+"/index.phtml");
linkelement.setAttribute("id",menulen);
linkelement.onmouseover = function() { expand(menulen); };
menuitemname = document.createTextNode(menu[menulen]);
linkelement.appendChild(menuitemname);
menuitem.appendChild(linkelement);
var tempvar="";
// this is whurr we make teh submenu items
submenulist = document.createElement("ul");
for (submenulen=0; submenulen!=submenu[menulen].length; submenulen++) {
submenuitem = document.createElement("li");
sublinkelement = document.createElement("a");
sublinkelement.setAttribute("href",menuvars[menulen]+"/"+subvars[menulen][submenulen]+".phtml");
submenuitemname = document.createTextNode(submenu[menulen][submenulen]);
sublinkelement.appendChild(submenuitemname);
submenuitem.appendChild(sublinkelement);
submenulist.appendChild(submenuitem);
menuitem.appendChild(submenulist);
}
// this is whurr we store teh submenu items.
tempvar = submenulist;
submenucontent.push(tempvar);
menulist.appendChild(menuitem);
}
menuelement.appendChild(menulist);
}
function expand(menuID) {
document.write(menuID);
blah.appendChild(submenucontent[0]);
}
</script>
<body onload="buildmenu()">
<div id="menu">
</div>
<div id="gay">
</div>
</body>
yet again i realize there are some things that shouldnt really be in there, but these do not affect the code i am referencing. anybody have any ideas?
assume menu.length = 3;
for (menulen=0; menulen!=menu.length; menulen++) {
..........
linkelement.onmouseover = function() { expand(menulen); };
..........
}
the problem i'm having now is that EVERY linkelement uses expand(3) instead of the number of the loop it was on. i don't even understand how it got to 3, seeing as how its supposed to stop at 2.
here's my code yet again:
<script type="text/javascript">
var idgroups = new Array();
var menulist = document.createElement("ul");
var submenulist;
var menulist;
var menuitem;
var linkelement;
var sublinkelement;
var menuelement = document.getElementById("menu");
var menuitemname;
var submenuitemname;
var menuitemvalue;
var menu = new Array();
var menuvars = new Array();
var submenu = new Array();
var subvars;
var menu = ["One","Two","Three"];
var menuvars = ["assassinate","your","parents"];
var submenu = [new Array("HEH","heh","hEh"),new Array("Rofl","Lmao","LoL"),new Array("I","like","poop")];
var subvars = [new Array("...","...","..."),new Array("...","...","..."),new Array("...","...","...")];
var submenucontent = new Array();
function buildmenu() {
menuelement = document.getElementById("menu");
for (menulen=0; menulen!=menu.length; menulen++) {
// here we create teh menu items
menuitem = document.createElement("li");
linkelement = document.createElement("a");
linkelement.setAttribute("href",menuvars[menulen]+"/index.phtml");
linkelement.setAttribute("id",menulen);
linkelement.onmouseover = function() { expand(menulen); };
menuitemname = document.createTextNode(menu[menulen]);
linkelement.appendChild(menuitemname);
menuitem.appendChild(linkelement);
var tempvar="";
// this is whurr we make teh submenu items
submenulist = document.createElement("ul");
for (submenulen=0; submenulen!=submenu[menulen].length; submenulen++) {
submenuitem = document.createElement("li");
sublinkelement = document.createElement("a");
sublinkelement.setAttribute("href",menuvars[menulen]+"/"+subvars[menulen][submenulen]+".phtml");
submenuitemname = document.createTextNode(submenu[menulen][submenulen]);
sublinkelement.appendChild(submenuitemname);
submenuitem.appendChild(sublinkelement);
submenulist.appendChild(submenuitem);
menuitem.appendChild(submenulist);
}
// this is whurr we store teh submenu items.
tempvar = submenulist;
submenucontent.push(tempvar);
menulist.appendChild(menuitem);
}
menuelement.appendChild(menulist);
}
function expand(menuID) {
document.write(menuID);
blah.appendChild(submenucontent[0]);
}
</script>
<body onload="buildmenu()">
<div id="menu">
</div>
<div id="gay">
</div>
</body>
yet again i realize there are some things that shouldnt really be in there, but these do not affect the code i am referencing. anybody have any ideas?