Autor Tema: JavaScript cargar imágenes y conservar elementos cargados desde JSON función  (Leído 5037 veces)

gatoher

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 86
    • Ver Perfil
 Hola a todos, me pasa una cosa curiosa. A ver estoy cargando una imagen desde JSON, todo funciona perfecto pero la primera vez. Osea, al pinchar en un boton se hace una consulta a una bbdd extrae la url y se muestra en pantalla.

Pero el usuario puede darle las veces que quiera y mientras queden imagenes se tienen que mostrar y conservar en la pantalla las ya mostradas.

  A mi lo que me ocurre es que me sobreescribe las imagenes. He intentando crear hijos desde javascript pero sin resultado, una imagen machaca la otra.

Los hijos los he creado así:

   
Código: [Seleccionar]

/*Cargamos la ultima imagen selecionada por el usuario*/
function cargarUltimaImagen(objLastImg){
        var li = document.createElement('li');
        var img = document.createElement('img');
        img.setAttribute("src", objLastImg[0].ruta);
        li.appendChild(img);
        fotos.appendChild(li); //fotos es un ul donde deberían insertar los hijos

}
   


¿Alguna idea?
« Última modificación: 04 de Junio 2016, 23:31 por César Krall »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Conservar elementos cargados desde JSON
« Respuesta #1 en: 27 de Mayo 2016, 10:30 »
Hola gatoher.

He probado tu código y me funciona perfectamente. Bueno añadí un botón para poder probarlo:

Código: [Seleccionar]
<html>
<head>
<meta charset="utf-8">
<title>_________________</title>
<script>
var i =  0;
function cargarUltimaImagen(objLastImg){
var li = document.createElement('li');
var img = document.createElement('img');
var fotos = document.getElementById('fotos');
img.setAttribute("src", 'https://www.aprenderaprogramar.com/foros/avatars/APR2.COM_Varios/AprApr_1.jpg');
li.appendChild(img);
li.innerHTML += i;
fotos.appendChild(li); //fotos es un ul donde deberían insertar los hijos
i++;
}
</script>
</head>
<body>
<button onclick="cargarUltimaImagen()">Pulsa aquí</button>
<ul id="fotos" name="fotos"></ul>
</body>
</html>

¿Podría ser que tuvieses establecida una posición determinada de los elementos "li" mediante css? y por eso te coloca las imágenes una encima de la otra.
También se me ocurre que estés recargando la página y por eso solo te aparezca una imagen.

Saludos. ;D
« Última modificación: 27 de Mayo 2016, 10:33 por pedro,, »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".