Comunidad de diseño web y desarrollo en internet online

Ayuda urgente no logro ver esto carga de imagenes aleatoria

Citar            
MensajeEscrito el 14 Nov 2005 06:34 am
tengo problemas con el ej. mostrado en la siguiente web ayuda please

Código :

function cargarXML(cargado){
   if(cargado){
      xmlNodo=this.firstChild;
      imagen=[];
      descripcion=[];
      total=xmlNodo.childNodes.lenght;
      for(i=0;i<total;i++){
         imagen[i]=xmlNodo.childNodes[i].chilNodes[0].firstChild.nodeValue;
      }
      CargarPrimeraImagen();
   }else{
      trace("algo a fallado");
   }
}
xmlAlbum=new XML();
xmlAlbum.ignoreWhite=true;
xmlAlbum.onLoad=cargarXML;
xmlAlbum.load("imagenes.xml");
this.onEnterFrame=function(){
   peso=contenedor.getBytesTotal()
   cargado=contenedor.getBytesLoaded()
   if(cargado!=peso){
      precarga_txt.text=Math.round(cargado*100/peso)+"%cargado";
}else{
      if(contenedor._alpha<100){
         contenedor._alpha+=15;
      }
   }
};
   function CargarPrimeraImagen(){
   contenedor._alpha=0;
   posarray=0
   contenedor.loadMovie(imagen[posarray],1);
   Carrusel()
   }
   function SiguienteImagen(){
   if(posarray<(total-1)){
      contenedor._alpha=0;
      posarray++;
      contenedor.loadMovie(imagen[posarray]);
      Carrusel()
   }
   }
   retraso=3000
   function Carrusel(){
      miIntervalo=setInterval(pararcarrusel,retraso);
      function pararcarrusel(){
         clearInterval(miIntervalo);
         if(posarray==(total-1)){
            posarray=-1;
            CargarPrimeraImagen();
         }else{
            SiguienteImagen();
         }
      }
   }
   este es el codigo del contenedor
y a continuacion les mando el xml
<?xml version="1.0" encoding="iso-8859-1"?>
<album>
<imagen>
<trabajo>foto1.jpg</trabajo>
</imagen>
</imagen>
<trabajo>foto2.jpg</trabajo>
</imagen>
</imagen>
<trabajo>foto3.jpg</trabajo>
</imagen>
</imagen>
<trabajo>foto4.jpg</trabajo>
</imagen>
</imagen>
<trabajo>foto5.jpg</trabajo>
</imagen>
</album>

no se que estoy haciendo mal
las imagenes las tengo en la misma carpeta trabajo
[/flash]

SWAT: Añadidas etiquetas code

Por ramamultimedia

3 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 16 Nov 2005 04:16 am
Tu XML esta mal (duplicaste el tag de cierre del nodo imagen), debe ser asi:

Código :

<?xml version="1.0" encoding="iso-8859-1"?>
<album>
   <imagen>
      <trabajo>foto1.jpg</trabajo>
   </imagen>
   <imagen>
      <trabajo>foto2.jpg</trabajo>
   </imagen>
   <imagen>
      <trabajo>foto3.jpg</trabajo>
   </imagen>
   <imagen>
      <trabajo>foto4.jpg</trabajo>
   </imagen>
   <imagen>
      <trabajo>foto5.jpg</trabajo>
   </imagen>
</album>

El AS:
Error 1: lenght en vez de length
Error 2: xmlNodo.childNodes[i].chilNodes[0].firstChild.nodeValue y debe ser xmlNodo.childNodes[i].firstChild.firstChild.nodeValue

Mi consejo es que es mejor que el XML este fomado asi:

Código :

<?xml version="1.0" encoding="iso-8859-1"?>
<album>
   <imagen trabajo="foto1.jpg" />
   <imagen trabajo="foto2.jpg" />
   <imagen trabajo="foto3.jpg" />
   <imagen trabajo="foto4.jpg" />
   <imagen trabajo="foto5.jpg" />
</album>

Y el AS (modifique y simplifique funciones):

Código :

xmlAlbum = new XML();
xmlAlbum.ignoreWhite = true;
xmlAlbum.onLoad = function(cargado) {
   if (cargado) {
      xmlNodo = this.firstChild.childNodes;
      imagen = [];
      total = xmlNodo.length;
      for (i=0; i<total; i++) {
         imagen[i] = xmlNodo[i].attributes.trabajo;
      }
      Carrusel(0);
   } else {
      trace("algo a fallado");
   }
};
xmlAlbum.load("imagenes.xml");
this.onEnterFrame = function() {
   peso = contenedor.getBytesTotal();
   cargado = contenedor.getBytesLoaded();
   if (cargado != peso) {
      precarga_txt.text = Math.round(cargado*100/peso)+"%cargado";
   } else {
      if (contenedor._alpha<100) {
         contenedor._alpha += 15;
      }
   }
};
function Carrusel(cual) {
   posarray = cual;
   miIntervalo = setInterval(pararcarrusel, 1000);
   function pararcarrusel() {
      clearInterval(miIntervalo);
      if (posarray == total) {
         posarray = 0;
      }
      contenedor._alpha = 0;
      contenedor.loadMovie(imagen[posarray]);
      trace(imagen[posarray]);
      Carrusel(posarray+1);
   }
}
Usando la funcion Carrusel(), te sirve para iniciar o usarla para saltar a la imagen que quieras! :wink:

Por Devian

23 de clabLevel



Genero:Masculino  

Bs. As.

firefox

 

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