Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

D2th3

[Resolvido] steInterval com efeito indesejável

Recommended Posts

Olá,

 

Eu programei um slideshow e coloquei a função setInterval para executar sozinho até clicar no botão.

 

// Inicia meu primeiro slide
executaSlide("#Slide");
// Passa os demais slides de acordo com o tempo
var intervalo = window.setInterval(function()
{
	executaSlide("#Slide");
}, 9000);

$('#botao_slide1').click(function()
{
   // Limpa o intervalo 
   clearInterval(intervalo);
   // Executa somente o slide pedido
   executaSlide('#Slide #Slide1');
});

 

Dessa forma funciona perfeitamente. Quando clico no botão o Slideshow para no objeto que eu desejo. Contudo eu gostaria que o voltasse passar os slides após um tempo parado. Então fiz esse incremento:

 

// Inicia meu primeiro slide
executaSlide("#Slide");
// Passa os demais slides de acordo com o tempo
var intervalo = window.setInterval(function()
{
	executaSlide("#Slide");
}, 9000);

$('#botao_slide1').click(function()
{
   // Limpa o intervalo 
   clearInterval(intervalo);
   // Executa somente o slide pedido
   executaSlide('#Slide #Slide1');
   // Volta passar automático após o tempo estabelecido
   var intervalo = window.setInterval(function()
{
	executaSlide("#Slide");
}, 20000);
});

 

Mas dessa forma não funcionou correto. O Slideshow continua passando automaticamente baseado no tempo do primeiro "intervalo", e me parece que mistura com o segundo intervalo.

 

Por favor, poderia me auxiliar a resolver esse script?

 

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa de um window.clearInterval().

 

Assim que clicar no botão, você manda um clear. Depois pode atrasar a exibição automática com um setTimeout(), e então recomeçar o setInterval().

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu começaria o steInterval novamente dentro do setTimeout?

 

Dentro do click coloquie window.clearinterval(intervalo) e abri um setTimeout com delay de 20000 e não funcionou... continua obecedendo o setInterval de fora da função.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa alterar o escopo da variavel intervalo.

 

ela tem q ser global, e não global e local, como está agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.