JavaScript - Activar enlace de capa automáticamente cada x segundos

 
Vista:
Imágen de perfil de Jordi
Val: 9
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Activar enlace de capa automáticamente cada x segundos

Publicado por Jordi (28 intervenciones) el 20/04/2015 19:41:13
Hola buenas tardes!

Tengo un problema y no se como solucionarlo.

Tengo una capa que cuando la pulsas realiza un cambio en un formulario y lo que hace es pasar a ver la siguiente imagen. Es como una galería (tipo slider)
Pues lo que quiero yo es que esta capa se pulse sola cada X segundos, así vayan pasando todas las imágenes solas.

Supongo que con javascript o jquery esto es posible pero no tengo ni idea de como montarlo.

Espero que me podáis ayudar, porque empiezo a estar desesperado :(
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de txema
Val: 71
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Activar enlace de capa automáticamente cada x segundos

Publicado por txema (23 intervenciones) el 20/04/2015 20:04:00
Hay dos funciones en Javascript que te te lo hacen

El método setTimeout () llama a una función o evalúa una expresión después de un número especificado de milisegundos.
La función sólo se ejecuta una vez. Si necesita repetir la ejecución, utilice el setInterval () método.


Y por referencia (la más uso personalmente):
El método setInterval () llama a una función o evalúa una expresión en los intervalos especificados (en milisegundos).
El método setInterval () continuará llamando a la función hasta que se llame a clearInterval (), o la ventana está cerrada.


La sintaxis de esta segunda (similar a la anterior) la tienes en /www.w3schools.com/jsref/met_win_setinterval.asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jordi
Val: 9
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Activar enlace de capa automáticamente cada x segundos

Publicado por Jordi (28 intervenciones) el 21/04/2015 12:17:00
Gracias txema! Me ha ido genial tu respuesta. Lo que lo explique mal yo, porque no es el mismo div, cada vez cambia, pero bueno eso lo he sabido arreglar yo. Mira he conseguido crear esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
setInterval(function () {
	setTimeout(function () {
	  document.getElementById('next2').click();
	}, 1000);
	setTimeout(function () {
	  document.getElementById('next3').click();
	}, 2000);
	setTimeout(function () {
	  document.getElementById('next4').click();
	}, 3000);
	setTimeout(function () {
	  document.getElementById('next5').click();
	}, 4000);
	setTimeout(function () {
	  document.getElementById('next6').click();
	}, 5000);
	setTimeout(function () {
	  document.getElementById('next1').click();
	}, 6000);
}, 6000); // cada 6 segundos

Que hace lo que yo quería con un único problema, que tarda 6 segundos en empezar. Quiero que empiece al cargar la pagina, pero si quito los 6 segundos del setInterval no da tiempo a que termine todo que vuelve a empezar... Seguro que es una tontería pero no se como hacerlo :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jordi
Val: 9
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Activar enlace de capa automáticamente cada x segundos

Publicado por Jordi (28 intervenciones) el 21/04/2015 13:43:15
Vale ya esta arreglado. Al final lo he solucionado así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
setTimeout(function ABC () {
	setTimeout(function () {
		document.getElementById('next2').click();
	}, 1000);
	setTimeout(function () {
		document.getElementById('next3').click();
	}, 2000);
	setTimeout(function () {
		document.getElementById('next4').click();
	}, 3000);
	setTimeout(function () {
		document.getElementById('next5').click();
	}, 4000);
	setTimeout(function () {
		document.getElementById('next6').click();
	}, 5000);
	setTimeout(function () {
		document.getElementById('next1').click();
	}, 6000);
	repe = setTimeout(ABC, 6000); //Vuelvo a iniciar la función entera para crear un bucle
}, 0000); // A los 0 segundos empieza

No se si es la forma mas correcta de hacerlo pero así hace lo que quiero :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Activar enlace de capa automáticamente cada x segundos

Publicado por xve (2100 intervenciones) el 21/04/2015 18:07:19
Gracias por compartirlo Jordi!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar