tengo un codigo que muestra en un campo de texto un texo "DESCRIPCION"que esta en un xml. Con un boton next_mc voy mostrando el texto:
Código :
next_mc.onPress = function() {
clip.descripcion_txt.text = my_xml.firstChild.childNodes[nodo].childNodes[0].firstChild;
nodo++;
trace("nodo="+nodo);
if (nodo>=largo) {
nodo = 0;
}
};
el problema es para mostrar el texto anterior con el boton prev_mc:
Código :
prev_mc.onPress = function() {
clip.descripcion_txt.text = my_xml.firstChild.childNodes[nodo].childNodes[0].firstChild;
trace("nodo="+nodo);
nodo--;
if (nodo<=largo) {
nodo = 0;
}
};
al clicarlo no muestra el texto anterior, no retrocede se queda donde mismo o pasa a 0
que pasa?
me dijeron que no funcionaba por que el valor de nodo siempre valia 1 mas que el texto del indice actual que se esta mostrando
pero si es asi como retrocedo en el indice ?? ya que restandole 1 o 2 a nodo tampoco resulta
aqui esta el xml:
<lista>
<producto>
<texto>DESCRIPCION 0</texto >
<jpg>fotos/foto0.jpg</jpg>
</producto>
<producto>
<texto>DESCRIPCION 1</texto >
<jpg>fotos/foto1.jpg</jpg>
</producto>
<producto>
<texto>DESCRIPCION 2</texto >
<jpg>fotos/foto2.jpg</jpg>
</producto>
<producto>
<texto>DESCRIPCION 3</texto >
<jpg>fotos/foto3.jpg</jpg>
</producto>
<producto>
<texto>DESCRIPCION 4</texto >
<jpg>fotos/foto4.jpg</jpg>
</producto>
</lista>
y aqui el codigo:
Código :
//creo objeto xml
var nodo = 0;
trace("nodo="+nodo);
var my_xml = new XML();
my_xml.ignoreWhite = true;
//se cargan los datos
my_xml.load("fuentedatos/fotos.xml");
//al llegar los datos se ejecuta esto
my_xml.onLoad = function() {
largo = this.firstChild.childNodes.length;
};
next_mc.onPress = function() {
clip.descripcion_txt.text = my_xml.firstChild.childNodes[nodo].childNodes[0].firstChild;
nodo++;
trace("nodo="+nodo);
if (nodo>=largo) {
nodo = 0;
}
};
prev_mc.onPress = function() {
clip.descripcion_txt.text = my_xml.firstChild.childNodes[nodo].childNodes[0].firstChild;
trace("nodo="+nodo);
nodo--;
if (nodo<=largo) {
nodo = 0;
}
};
[/code] 