J'essaie de créer mon propre diaporama. Le code suivant s'estompe d'une image à l'autre. J'aimerais passer de img1.jpg à img4.jpg mais je ne sais pas trop comment faire une pause après chaque changement.jQuery diaporama
i++;
temp = "img"+i+".jpg";
$("#img").fadeOut(function() {
$(this).load(function() { $(this).fadeIn(); });
$(this).attr("src", temp);
});
MISE À JOUR: J'ai modifié le code en code suivant. Sur le conseil de John Boker, j'ai renommé les images en img0, img1, img2, img3. Il va à la première, deuxième, troisième image le juste s'arrête. Des idées?
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var temp="";
function slideshow(i)
{
temp = "img"+i+".jpg";
$("#img").fadeOut(function() {
$(this).load(function() {
$(this).fadeIn();
// set a timeout of 5 seconds to show the next image;
setTimeout(function(){ slideshow((i+1)%4); }, 5000);
});
$(this).attr("src", temp);
});
}
slideshow(0);
});
</script>
</head>
<body>
<img src="img1.jpg" id="img"/>
</body>
</html>
Fonctionne bien, mais comment peut-il être bouclé alors quand il arrive à img4, il revient à img1. J'ai essayé une instruction if mais je n'ai pas réussi à l'obtenir. Merci. – usertest
Oops, j'aurais dû mentionner que la variable 'i' doit être initialisée en dehors de la fonction, de sorte qu'elle ne soit pas localement étendue et réinitialisée chaque fois que la fonction s'exécute. Ce code révisé devrait fonctionner! –