function myLoad() { //Katalog//ikke interessant KatalogNode = this.childNodes[0]; trace(KatalogNode); AntalSider = KatalogNode.childNodes.length; trace("Antalsider: "+AntalSider); //tæller sider SideNode = KatalogNode.childNodes[0]; //får her fat i side1!!! trace(SideNode); HotSpotNode = SideNode.childNodes[0]; //får her fat i side1´s 1.hotspot!!! trace(HotSpotNode); for (attr in HotSpotNode.attributes) { //får her fat i attributer til side1´s 1. hotspot trace("Attributer: "+attr+" Value: "+HotSpotNode.attributes[attr]); } trace(KatalogNode.firstChild.nextSibling.childNodes.length); //antal hotspots side 2 trace(KatalogNode.firstChild.childNodes.length); //2 hotspots på side 1 trace(KatalogNode.childNodes[1].childNodes.length); //antal hotspots på side 2 //Varetekst VareTekstNode = HotSpotNode.childNodes[0]; // Får fat i vareteksten trace(VareTekstNode); // // //DET ER HER MAN SKAL HENTE INFORMATIONERNE VED TRYK PÅ EN KNAP, PAGE er DEN VARIBAEL SOM KOMMER IND I FUNKTIONEN VED TRYK PÅ EN KNAP.
Altså kort sagt vil jeg gerne have det sådan at når man trykker på en knap, kaldes en funktion, som går ind og henter informationerne indenfor en bestemt <side> </side>
pagesXML.getPage = function(num) { var top = this.firstChild.childNodes[num]; var i, ret = new Array(); for (i in top.childNodes) { ret[i].attributes = top.childNodes[i].attributes; ret[i].text = top.childNodes[i].firstChild.nodeValue; } return ret; }
jeg får til gengæld også undefined som dig, hvis jeg kalder getPage() før min xml er loaded ind - altså før funktioner myLoad() har kørt eller hvis det er en forkert xml-fil, jeg loader ind (fx en der ikke findes)
Det er faktisk et ret nemt spørgsmål, så hvis du måske forklarede lidt mere om, hvad der efterfølgende skulle ske mere variablerne (vises i tekstfelt/liste eller...)
ikke andet? den skal bare køre minFunk en gang for hver hotspot?
pagesXML = new XML(); pagesXML.ignoreWhite = true; pagesXML.onLoad = function(s) { trace("loaded succesfully? "+s); } pagesXML.load("pages.xml"); pagesXML.getPage = function(num) { var top = this.firstChild.childNodes[num].childNodes; var i, ret = new Array(); for (i in top) { ret[i] = {s: top[i].attributes.s, w: top[i].attributes.w, h: top[i].attributes.h, pris: top[i].attributes.pris, teekst:top[i].firstChild.nodeValue}; } return ret;
}
on(release){ var i, side = _level0.pagesXML.getPage(1); for (i in side) { minFunk(side[i].s,side[i].w,side[i].h,side[i].pris,side[i].tekst) } }
Det kan også ske direkte i getPage(), så du bare kalder den en gang, og så lægger den det selv ind i minFunk:
pagesXML = new XML(); pagesXML.ignoreWhite = true; pagesXML.onLoad = function(s) { trace("loaded succesfully? "+s); } pagesXML.load("pages.xml"); pagesXML.getPage = function(num) { var i, top = this.firstChild.childNodes[num].childNodes; for (i in top) minFunk(top[i].attributes.s,top[i].attributes.w,top[i].attributes.h,top[i].attributes.pris,top[i].firstChild.nodeValue); }
Og hvis du vil kalde den første "side" for "1" istedet for "0", som er standard, så er det bare at tilføje et "-1":
pagesXML = new XML(); pagesXML.ignoreWhite = true; pagesXML.onLoad = function(s) { trace("loaded succesfully? "+s); } pagesXML.load("pages.xml"); pagesXML.getPage = function(num) { var i, top = this.firstChild.childNodes[num-1].childNodes; for (i in top) minFunk(top[i].attributes.s,top[i].attributes.w,top[i].attributes.h,top[i].attributes.pris,top[i].firstChild.nodeValue); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.