Exercice : Slider
<div id="slider_JG">
<a href="lien1"><img src="image1.jpg"/></a>
<a href="lien2"><img src="image2.jpg"/></a>
<a href="lien3"><img src="image3.jpg"/></a>
<a href="lien4"><img src="image4.jpg"/></a>
</div>
//Définir les propriétés que l'on souhaite avoir pour notre slider.
var sec = 3;
var img_w = 1130;
var img_h = 300;
var ratio = img_w/img_h;
//stocker les images du slider dans un tableau "slides".
var slides = document.getElementById("slider_JG").getElementsByTagName("a");
//stocker la longueur du tableau, donc le nombre d'images.
var nb_slides = slides.length;
//imposer aux images la largeur indiquée plus haut.
for(var i = 0; i < nb_slides; i++){
slides[i].getElementsByTagName("img")[0].style.width = img_w.toString() + "px";
}
//imposer une hauteur fixe au conteneur des images.
document.getElementById("slider_JG").style.height = img_h.toString() + "px";
//Position l'image à gauche de sa position relative.
//(une transition est présente en CSS pour animer le slider)
for(var i = 0; i < nb_slides; i++){
slides[i].style.left = (Number(document.getElementById("slider_JG").offsetWidth)+10).toString() + "px";
}
//fonction qui permet de faire aparaître une image donnée en argument
//et de la faire disparaître après un certain temps.
function move_slide(elem){
var img = slides[elem];
img.style.zIndex = "2";
img.style.visibility = "visible";
setTimeout(function(){ img.style.left = "0px"; }, 200);
setTimeout(function(){ img.style.zIndex = "0"; }, sec*1000-200);
setTimeout(function(){ img.style.visibility = "hidden"; img.style.left = (Number(document.getElementById("slider_JG").offsetWidth)+10).toString() + "px"; }, sec*1000+1000);
}
//fonction qui permet d'animer tout le slider
function move_slides(){
move_slide(track_slide%nb_slides);
track_slide += 1;
setTimeout(function(){ move_slides(); }, sec*1000);
}
//execution de la fonction permettant d'animer le slider
move_slides();Mis à jour