Codigo
Publicado por Gus_gus (2 intervenciones) el 04/06/2005 06:17:01
Salud2 a todos
Alguien me puede ayudar en este codigo.
Es para hacer botones dinamicos pero soy nueva en esto y la verdad no lo entiendo del todo ya que tambien manda a llamar codigo de xml (con xml no hay tanto problema) pero con Action Script medio me pierdo , si alguien sabe en que que es lo que hace cada funcion se lo agradezco,
dat = new XML();
dat.load("datos.xml");
dat.ignoreWhite = true;
//
function convertXML(base) {
var i = 0, cantidad;
cantidad = base.parentNode.childNodes.length;
while (i<cantidad) {
construir_arreglos(i, base.attributes);
base = base.nextSibling;
i++;
}
}
dat.onLoad = function(success) {
convertXML(dat.firstChild.firstChild);
};
//
palabras = new Array();
direcciones = new Array();
function construir_arreglos(i, att) {
total = i;
palabras.push(att.nombre);
direcciones.push(att.direccion);
}
//
function generaMenu() {
var cadena_d_numeros, i = 0;
while (i<=total) {
cadena_d_numeros += lineaMostrar(i);
i++;
}
numeracion = "<p align=\"center\">"+cadena_d_numeros+"</P>";
}
function selMenu(numero_m) {
numero_marcado = numero_m;
salida = palabras[numero_m]+"<br>"+direcciones[numero_m];
generaMenu();
}
function lineaMostrar(numero) {
var colorTex, fraseTex;
if (numero != numero_marcado) {
colorTex = "#000000";
} else {
colorTex = "#FF0000";
}
switch (tipo) {
case "palabra" :
fraseTex = (palabras[numero]);
break;
case "direccion" :
fraseTex = (direcciones[numero]);
break;
default :
if (numero+1<10) {
fraseTex = ("0"+(numero+1));
} else {
fraseTex = (numero+1);
}
break;
}
return ("<font color=\""+colorTex+"\"><a href='asfunction:selMenu,"+numero+"'>"+fraseTex+"</a></font><br>");
}
//_______________________________________________________________________________
function debugger() {
debb = dat.toString().split("<").join("(").split(">").join(")<br>");
representacionXML.html = false;
representacionXML.htmlText = representacionXML.htmlText.split("(").join("<").split(")").join(">");
}
function compilarXML() {
var i, sumatoria, estamos, caracter;
for (i=0; i<representacionXML.htmlText.length; i++) {
caracter = representacionXML.htmlText.substr(i, 1);
if (caracter == "<") {
estamos = "abriendo";
} else if (caracter == ">") {
estamos = "cerrando";
sumatoria += ">";
}
if (estamos == "abriendo") {
sumatoria += caracter;
}
}
//
palabras = new Array();
direcciones = new Array();
dat = new XML(sumatoria);
convertXML(dat.firstChild.firstChild);
generaMenu();
}
//
stop();
Alguien me puede ayudar en este codigo.
Es para hacer botones dinamicos pero soy nueva en esto y la verdad no lo entiendo del todo ya que tambien manda a llamar codigo de xml (con xml no hay tanto problema) pero con Action Script medio me pierdo , si alguien sabe en que que es lo que hace cada funcion se lo agradezco,
dat = new XML();
dat.load("datos.xml");
dat.ignoreWhite = true;
//
function convertXML(base) {
var i = 0, cantidad;
cantidad = base.parentNode.childNodes.length;
while (i<cantidad) {
construir_arreglos(i, base.attributes);
base = base.nextSibling;
i++;
}
}
dat.onLoad = function(success) {
convertXML(dat.firstChild.firstChild);
};
//
palabras = new Array();
direcciones = new Array();
function construir_arreglos(i, att) {
total = i;
palabras.push(att.nombre);
direcciones.push(att.direccion);
}
//
function generaMenu() {
var cadena_d_numeros, i = 0;
while (i<=total) {
cadena_d_numeros += lineaMostrar(i);
i++;
}
numeracion = "<p align=\"center\">"+cadena_d_numeros+"</P>";
}
function selMenu(numero_m) {
numero_marcado = numero_m;
salida = palabras[numero_m]+"<br>"+direcciones[numero_m];
generaMenu();
}
function lineaMostrar(numero) {
var colorTex, fraseTex;
if (numero != numero_marcado) {
colorTex = "#000000";
} else {
colorTex = "#FF0000";
}
switch (tipo) {
case "palabra" :
fraseTex = (palabras[numero]);
break;
case "direccion" :
fraseTex = (direcciones[numero]);
break;
default :
if (numero+1<10) {
fraseTex = ("0"+(numero+1));
} else {
fraseTex = (numero+1);
}
break;
}
return ("<font color=\""+colorTex+"\"><a href='asfunction:selMenu,"+numero+"'>"+fraseTex+"</a></font><br>");
}
//_______________________________________________________________________________
function debugger() {
debb = dat.toString().split("<").join("(").split(">").join(")<br>");
representacionXML.html = false;
representacionXML.htmlText = representacionXML.htmlText.split("(").join("<").split(")").join(">");
}
function compilarXML() {
var i, sumatoria, estamos, caracter;
for (i=0; i<representacionXML.htmlText.length; i++) {
caracter = representacionXML.htmlText.substr(i, 1);
if (caracter == "<") {
estamos = "abriendo";
} else if (caracter == ">") {
estamos = "cerrando";
sumatoria += ">";
}
if (estamos == "abriendo") {
sumatoria += caracter;
}
}
//
palabras = new Array();
direcciones = new Array();
dat = new XML(sumatoria);
convertXML(dat.firstChild.firstChild);
generaMenu();
}
//
stop();
Valora esta pregunta


0