Reputation: 3
I have a quick question. Can anyone tell me why this code is not working? It is supposed to rotate 3 images in a banner on a website, but it only does it once. Thank you
<body onload ="setInterval(changeImage, 3000 );">
<script>
var cont = 1;
function changeImage(){
switch (cont)
{
case 1:
document.getElementById("grandImage").src = "Images/Banner/jirafa.jpg";
cont += 1;
break;
case 2:
document.getElementById("grandImage").src = "Images/Banner/leo.jpg";
cont += 1;
break;
default:
document.getElementById("grandImage").src = "Images/Banner/lion.jpg";
cont=0;
}
</script>
}
Upvotes: 0
Views: 45
Reputation: 39
Your closing bracket for the function changeImage
is outside of the </script>
.
<body onload ="setInterval(changeImage, 3000 );">
<script>
var cont = 1;
function changeImage(){
switch ()
{
case 1:
document.getElementById("grandImage").src = "Images/Banner/jirafa.jpg";
cont += 1;
break;
case 2:
document.getElementById("grandImage").src = "Images/Banner/leo.jpg";
cont += 1;
break;
default:
document.getElementById("grandImage").src = "Images/Banner/lion.jpg";
cont=0;
}
}
</script>
Upvotes: 2
Reputation: 16
In default you are assigning 0
to cont
, and you don't have a case for 0
, this way it comes back to default
again. Setting cont=1
in default
will fix it.
Upvotes: 0