I have been trying to create a submenu with XML but its getting populated with the last node in the XML. Anyone know why?
ActionScript
Object.registerClass ("item1",src.button);
Object.registerClass ("item2",src.button);
Object.registerClass ("item3",src.button);
Object.registerClass ("item4",src.button);
import mx.transitions.Tween;
import mx.transitions.easing.*;
import src.button;
var item1:button;
var item2:button;
var item3:button;
var item4:button;
var space:Number = 5;
var TotalButtons:Number = 5;
function loadXML (loaded)
{
if (loaded) {
CreateMainMenu(mcContainer,this);
} else {
trace ("file not loaded!");
}
}
xmlData = new XML ();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load ("src/menu.xml");
GenerateMenu = function(container, node_xml) {
// variable declarations
var curr_node;
var curr_item;
var totalNodes = node_xml.childNodes.length;
for (var i=0; i<totalNodes; i++) {
curr_item = container.attachMovie("mcButton","item"+i, i);
curr_item._x = i*122;
curr_item.trackAsMenu = true;
curr_node = node_xml.childNodes*;
curr_item.Labels = curr_node.attributes.name;
curr_item.SubLabels = curr_node.attributes.subLabel;
curr_item.link = curr_node.attributes.link;
curr_item.Value = i;
curr_item.onRollOver = function(){
this.over();
var TxtFade:Tween = new Tween (mcSubNav.txtField,"_alpha",Regular.easeInOut, mcSubNav.txtField._alpha , 100, 1, true);
var TxtMove:Tween = new Tween (mcSubNav.txtField,"_x",Regular.easeInOut, mcSubNav.txtField._x , this._x + 5, 1, true);
p = this.Value;
SubMenu(curr_node , p);
}
curr_item.onRollOut =function(){
this.out();
var TxtFade:Tween = new Tween (mcSubNav.txtField,"_alpha",Regular.easeInOut, mcSubNav.txtField._alpha, 0, 1, true);
var TxtMove:Tween = new Tween (mcSubNav.txtField,"_x",Regular.easeInOut, mcSubNav.txtField._x , this._x + this._width, 1, true);
mcSubNav.txtField.htmlText = "";
}
} // end for loop
};
SubMenu = function(menu_xml , button){
var curr_node;
var curr_item;
var totalNodes = menu_xml.childNodes.length;
trace(button);
for (var i=0; i<totalNodes; i++) {
curr_item = mcContainer["item"+button];
curr_node= menu_xml.childNodes*;
curr_item.name = curr_node.attributes.name;
curr_item.link = curr_node.attributes.link;
mcSubNav.txtField.htmlText += "<FONT><u><a href='http://"+curr_item.link+"'target='_blank'>"+curr_item.name+"</a></u></FONT> ";
}
}
CreateMainMenu = function(container,menu_xml){
GenerateMenu(container, menu_xml.firstChild);
};
XML:
<menu>
<menu name="home" subLabel="go to start" link="index.html">
</menu>
<menu name="about" subLabel="who we are" link="index.html">
<item name="About Link1" link="http://www.msn.com"/>
<item name="About Link1" link="http://www.msn.com"/>
</menu>
<menu name="services" subLabel="what we do" link="index.html">
<item name="Services Link1" link="http://www.alpharaven.com"/>
</menu>
<menu name="solutions" subLabel="solving problems" link="index.html">
<item name="Solutions Link1" link="http://www.apple.com"/>
</menu>
<menu name="contacts" subLabel="phone, or email" link="index.html">
<item name="Contact Link1" link="http://www.google.com"/>
<item name="Contact Link2" link="http://www.google.com"/>
</menu>
</menu>
PLEASE HELP!!!