Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Visor de imagenes

Estas en el tema de Visor de imagenes en el foro de Javascript en Foros del Web. Buenas tardes a todos, soy nuevo en el tema de javascript. Estoy creando una aplicacion de visor de imágenes. ¿Alguien podría echarme un cable?. Un ...
  #1 (permalink)  
Antiguo 18/02/2013, 11:18
 
Fecha de Ingreso: febrero-2013
Mensajes: 55
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta Visor de imagenes

Buenas tardes a todos, soy nuevo en el tema de javascript. Estoy creando una aplicacion de visor de imágenes. ¿Alguien podría echarme un cable?.

Un saludo, muchas gracias.
  #2 (permalink)  
Antiguo 18/02/2013, 18:51
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Visor de imagenes

¿En qué necesitas ayuda?

Si necesitas ayuda desde el principio quizá lo que necesitas es un Libro de Javascript o un "visor" ya echo.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 20/02/2013, 13:54
 
Fecha de Ingreso: febrero-2013
Mensajes: 55
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Visor de imagenes

Llevo dos días dándole y ya he sacado algo. El único problema que tengo, que no es poco, es que al intentar cambiar de imagen, el navegador se bloquea. ¿Alguien sabe a qué es debido?. Dejo el código aquí para que le echéis un vistazo.

<HTML>

<HEAD>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<TITLE> Visor de imagenes </TITLE>

<H1> <P ALIGN = CENTER> Visor de imagenes </P>

<script language="Javascript" type="text/javascript">

var img_array = new Array ("caballo1.png", "caballo2.png", "caballo3.png","caballo4.png")

var imagen_num = 0

function rotate() {

if (imagen_num > 3) {

imagen_num = 0
}

document.Source.src = img_array[imagen_num]

imagen_num++
setInterval(rotate(),1000); //--> contador de tiempo 1000ms = 1s
}
</script>
</HEAD>



<BODY onLoad = "rotate()">

<P ALIGN=CENTER> <img name = "Source" WIDTH= 256 HEIGHT=256 alt = "no hay" /> </P>





</BODY>



</HTML>
  #4 (permalink)  
Antiguo 20/02/2013, 14:46
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Visor de imagenes

Primero un error de sintáxis

setInterval('nombrefuncion()', tiempo en millisegundos);
como ves, el nombre de la función va entre comillas, segundo un mal uso de setInterval(), si querés repetir la función desde dentro de la misma utlizá setTimeout

Código HTML:
Ver original
  1. function rotate(){
  2. if (imagen_num > 3) {
  3. imagen_num = 0;
  4. }
  5. img = document.Source;
  6. img.src =img_array[imagen_num];
  7. imagen_num++;
  8. var t=setTimeout('rotate()',1000);
  9. }
  10.  
  11. </HEAD>
  12. <BODY onLoad = "rotate()">

si usases setInterval, eliminás el setTimeout y hacés

<BODY onLoad="setInterval('rotate()', 1000);">
Claro que utilizando este último, verias vacía la imagen durante 1 segundo
Lectura recomendada
http://www.webtaller.com/construccio..._javscript.php

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 20/02/2013, 15:08
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Visor de imagenes

Yo antes que nada te recomendaría un manual de HTML, viendo los errores (h1 dentro del head, p dentro del h1, h1 sin cerrar, atributos sin comillas) te hace falta: http://librosweb.es/xhtml/
__________________
Grupo Telegram Docker en Español
  #6 (permalink)  
Antiguo 20/02/2013, 15:39
 
Fecha de Ingreso: febrero-2013
Mensajes: 55
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Visor de imagenes

Muchas gracias por las respuestas. Estoy en período de iniciación de este tipo de lenguajes, estoy en un curso en el que vamos a ver un poco de todo. Ya he conseguido arreglar el fallo.

Lo que he hecho ha sido otra función "intervalo()". Esta función crea el setInterval del "rotate()" y lo llamo desde el "onLoad()" del cuerpo del BODY.

Código HTML:
Ver original
  1. function rotate() {
  2.  
  3.                 imagen_num++
  4.  
  5.                 if (imagen_num > 3) {
  6.                     imagen_num = 0
  7.                 }
  8.                 document.Source.src = img_array[imagen_num]
  9.             }
  10.             function intervalo() {
  11.                 setInterval('rotate()',2000); //--> contador de tiempo 1000ms = 1
  12.             }
  13.         </script>
  14.  
  15.     <BODY onLoad = "intervalo()">
  16.  
  17.         <P ALIGN=CENTER> <img name = "Source"  WIDTH= 256 HEIGHT=256  alt = "no hay" /> </P>

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.