Comunidad de diseño web y desarrollo en internet online

Problemas con galería fotos XML

Citar            
MensajeEscrito el 04 Dic 2007 11:40 am
Buenas, estoy un poco obfuscado. He creado una galería de imágenes y recorro con un FOR para ir cargando las Thumbnails y asignando eventos a los botones.

Pues bien, si pongo el FOR a secas, me funciona perfecto:


for(i=0; i<21; i++) {
attachMovie("minifoto", "minifoto"+i, getNextHighestDepth());
this["minifoto"+i]._x = (44*i)+1;
this["minifoto"+i]._y = 1;
this["minifoto"+i].loaderPhoto.loadMovie("thumbs/Img"+(i)+".jpg");

attachMovie("miniboton", "miniboton"+i, getNextHighestDepth());
this["miniboton"+i]._x = 44*i;
this["miniboton"+i]._y = 0;
this["miniboton"+i].id = i;
this["miniboton"+i].onRelease = function(){
_parent.visorFotos.loadMovie("fotografias/Img"+this.id+".jpg");
};
}

Pero si intento utilizar un XML generado por un script ASP no funciona. El ActionScript queda así:

XML.prototype.ignoreWhite = true;
miXML = new XML();
miXML.onLoad = verArchivos;

function verArchivos(ok) {
if (ok) {
var files = this.firstChild.childNodes;
for (k=0; files[k]; k++) {
if (files[k].attributes.ext == "jpg") {
attachMovie("minifoto", "minifoto"+k, getNextHighestDepth());
this["minifoto"+k]._x = 44*k;
this["minifoto"+k]._y = 0;
trace(files[k].attributes.nombre+"."+files[k].attributes.ext); //esto me da: Img1.jpg... Img[k].jpg, etc
this["minifoto"+k].loaderPhoto.loadMovie("thumbs/"+files[k].attributes.nombre+"."+files[k].attributes.ext);

attachMovie("miniboton", "miniboton"+k, getNextHighestDepth());
this["miniboton"+k]._x = 44*k;
this["miniboton"+k]._y = 0;
this["miniboton"+k].onRelease = function() {
_parent.visorFotos.loadMovie("fotografias/"+files[k].attributes.nombre+"."+files[k].attributes.ext);
};
}
}
} else {
//fallo en la carga
}
}
if (!miXML.loaded) {
miXML.load("explorar.asp");
}

El fichero "explorar.asp" funciona perfecto, ya que el 'Trace' que hago en la película me devuelve el nombre del fichero correcto, osease 'Img1, Img2... Img[k]'.

Se os ocurre por que puede ser que en el primer ejempro funcione y con el XML no funcione?

El codigo del ASP es el siguiente:


<%
' intentamos evitar la caché del navegador --------------
Response.Expires=0
Response.CacheControl="private"
' ----------------------------------------------------------------
Response.ContentType="text/XML"
'Creamos el objeto FileSystemObject
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' elegimos la carpeta files desde la raiz del servidor web
Set folder = fso.GetFolder(Server.MapPath(("thumbs")))
Set files = folder.Files '
' construimos el XML ----------------------------------------
Response.Write("<?xml version='1.0' ?><exploracion carpeta='"+folder.Name+"'>")
For Each file in files
fil=file.Name
Dim sFile, MiMatriz
sFile = Split(file.Name, ".", -1, 1)
Response.write("<archivo nombre='")
Response.write(sFile(0))
Response.write("' ext='")
Response.write(sFile(1))
Response.write("' size='")
Response.write(file.size\1024)
Response.Write("' />")
Next
Response.Write("</exploracion>")
' ----------------------------------------------------------------
Set files = nothing
Set folder = nothing
Set fso = nothing
%>

Gracias!!

Por nrs-group

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 04 Dic 2007 02:19 pm
Cambia

Código :

...
var files = this.firstChild.childNodes;
...

por

Código :

...
var files = miXML.firstChild.childNodes;
...

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 04 Dic 2007 03:57 pm
El resultado es el mismo, si que obtengo el XML con los datos, pero a la hora de montarlo no me hace ni caso. En particular esta línea.

this["minifoto"+k].loaderPhoto.loadMovie("thumbs/"+files[k].attributes.nombre+"."+files[k].attributes.ext);

incluso si hago la llamada al fichero directamente, tal que así:

this["minifoto"+k].loaderPhoto.loadMovie("thumbs/Img1.jpg");

tampoco hace ni caso, mientras que lo mismo, si lo hago con un FOR, tal y como lo tengo arriba del todo, si que funciona.

Por nrs-group

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 04 Dic 2007 05:22 pm
Ya encontre el "fallo?"

Si creo la galeria mediante un FOR tal cual, puedo hacer referencia al objeto creado así:

this["minifoto"+k]

y pasarle los parámetros necesarios para montar la galería, pero cuando utilizo ese for dentro de una función (con el XML), eso no me funciona, y lo he cambiado por lo siguiente y ya funciona:

eval("minifoto"+k)

Pavelnosmatao, XD!!

Bueno, gracias a los que algo han aportado.

Por nrs-group

5 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.