Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[AS 2.0 / XML] Menu opbouwen met textfields

Pagina: 1
Acties:

  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 19-11 09:01
Hallo!

Ik heb hier een probleem met het dynamisch opbouwen van een menu uit een XML file in Flash.

this.defaultBtn is een bestaand object met de juiste properties.

Hiervan maak ik steeds een 'kopie', maar als ik 1 element veranderd, lijkt de rest ook te veranderen.
Er komt dus telkens maar 1 knop.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function buildMenu()
{
    if (xmlMenuData.firstChild.nodeType == 1 and xmlMenuData.firstChild.nodeName == 'pages')
    {
        for (link = xmlMenuData.firstChild.firstChild; link != undefined; link = link.nextSibling)
        {
            for (node = link.firstChild; node != null; node = node.nextSibling)
            {
                switch(node.nodeName)
                {
                    case "id":
                       var id = node.firstChild.nodeValue;
                       break;
                    case "title":
                       var xmlmenutitle = node.firstChild.nodeValue;
                       break;
                }
            }       
            var btnName = "menuBtn_" + id;
            _root[btnName] = _root.defaultBtn;
            _root[btnName].text = 'blah' + id;  
        }
    }
}

[ Voor 59% gewijzigd door Kvn op 07-02-2008 17:27 ]


  • f.v.b
  • Registratie: Januari 2008
  • Laatst online: 17-11 09:06
In de eerste if gebruik je 'and'. Deze operator bestaat niet in javascript. De juiste notatie is '&&'.

Verder zie ik in jouw code niet waar je de kopie van de button maakt. Google even op cloneNode.

Tot slot gebruik je de variabelen link en node die je niet eerst definieert, en laat je ons maar raden wat _root nu eigenlijk voor een ding is. Als _root.defaultBtn.cloneNode(true) niet de oplossing is, dan moet je wat meer informatie geven.

Don't erase all files?
       [Yes]   [No]