Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: gatoher en 25 de Mayo 2016, 21:28

Título: JavaScript cargar imágenes y conservar elementos cargados desde JSON función
Publicado por: gatoher en 25 de Mayo 2016, 21:28
 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?
Título: Re:Conservar elementos cargados desde JSON
Publicado por: pedro,, 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