How to show an image every 5 seconds javascript

2

Well my question is as follows, I would like to know how I would make javascript give you a 5 second interval before editing image.

My code:

window.onload = function() {
    if(2>1){
        document.getElementById("imagem").src = "https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+1&w=350&h=150";
        document.getElementById("imagem2").src = "https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+2&w=350&h=150";
        document.getElementById("imagem3").src = "https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+3&w=350&h=150";
    }
}
 
<img id="imagem" src="https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+1&w=350&h=150"><imgid="imagem2" src="https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+2&w=350&h=150"><imgid="imagem3" src="https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+3&w=350&h=150">

link

That is, there was an interval in each src of 5 seconds.

That first javascript edits the id "image", passed 5 seconds edits the id "imagem2" etc ...

    
asked by anonymous 17.06.2015 / 14:47

2 answers

1

You can use setTimeout to generate the desired delay.

function iniciarSlideImagens() {

    var exibirImagens = function(current) {
        var arrImgsAmarelas = [ 'amarelo0.png', 'amarelo1.png' ];
        var arrImgsLaranjas = [ 'laranja0.png', 'laranja1.png' ];

        document.getElementById("imagem").src = "cores-roleta/" + arrImgsAmarelas[current];
        document.getElementById("imagem1").src = "cores-roleta/" + arrImgsLaranjas[current];

        if (++current >= arrImgsAmarelas.length) {
            current = 0;
        }

        setTimeout(function() { exibirImagens(current); }, 5000);
    };

    exibirImagens(0);

}

iniciarSlideImagens();
    
17.06.2015 / 15:23
1

You can accomplish this by manipulating the objects of the DOM, removing the previous image and creating a new one instead.

Javascript

var i = 1;
var id = 'imagem'
// Intervalo em milissegundos (1s == 1000ms)
var milissegundos = 2000; // 5000 = 5 Segundos

// Executa a função a cada intervalo de tempo
var interval = setInterval(function(){

  // Recebe o elemento
  var img = document.getElementById(id);

  i++;
  
  // Seta o source da nova imagem
  img.setAttribute('src', 'https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+'+i+'&w=350&h=150');

  
}, milissegundos);
<div id="img-area">
    <img id="imagem" src="https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+1&w=350&h=150"/></div>

jQuery

var i = 1;
var id = '#imagem'
// Intervalo em milissegundos (1s == 1000ms)
var milissegundos = 2000;

// Executa a função a cada intervalo de tempo
var interval = setInterval(function(){
  i++;
  // Seta o source da nova imagem
    $(id).fadeOut(200, function(){
        $(id).attr('src', 'https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+'+i+'&w=350&h=150').delay(100).fadeIn(200);
    });

}, milissegundos);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><divid="img-area">
    <img id="imagem" src="https://placeholdit.imgix.net/~text?txtsize=36&txt=Imagem+1&w=350&h=150"/></div>

Roulette Example

    
17.06.2015 / 15:19