1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
| class Slider {
constructor(i, time, timer, slide, playing, nextImg, prevImg, pause) {
this.i = i;
this.time = time;
this.timer = timer;
this.slide = slide;
this.playing = playing;
this.nextImg = document.getElementById("fleche-droite");
this.prevImg = document.getElementById("fleche-gauche");
this.pause = document.getElementById("bouton-pause");
this.init();
}
init() {
this.afficherSlide();
this.changeImg();
this.nextImg.addEventListener("click", this.imageSuivante.bind(this));
this.prevImg.addEventListener("click", this.imagePrecedente.bind(this));
this.register();
this.pause.addEventListener("click", this.initPause);
}
afficherSlide() {
this.slide[0] = {
images: '/img/velo-lyon.jpg',
texte: '<p class="text1"> Première étape : Cliquez sur la station de votre choix </>'
}
this.slide[1] = {
'images': '/img/velo-lyon2.jpg',
'texte': '<p class="text2"> Deuxième étape : Rentrez votre Nom et prénom dans le formulaire et cliquez sur Réserver </>'
}
this.slide[2] = {
'images': '/img/velo-lyon3.jpg',
'texte': '<p class="text3"> Troisième étape : Veuillez signer le formulaire </>'
}
this.slide[3] = {
'images': '/img/velo-lyon4.jpg',
'texte': '<p class="text4">Dernière étape : Appuyez sur Valider ! :) </>'
}
}
changeImg() {
document.slide.src = this.slide[this.i].images;
document.getElementById("sliderText").innerHTML = this.slide[this.i].texte;
if (this.i < this.slide.length - 1) {
this.i++;
} else {
this.i = 0;
}
this.timer = setTimeout(this.changeImg.bind(this), this.time);
}
imageSuivante() {
document.slide.src = this.slide[this.i].images;
document.getElementById("sliderText").innerHTML = this.slide[this.i].texte;
clearTimeout(this.timer);
if (this.i == 3) {
this.i = 0;
} else {
this.i++;
}
this.timer = setTimeout(this.changeImg.bind(this), this.time);
}
imagePrecedente() {
document.slide.src = this.slide[this.i].images;
document.getElementById("sliderText").innerHTML = this.slide[this.i].texte;
clearTimeout(this.timer);
if (this.i == 0) {
this.i = 3;
} else {
this.i--;
}
this.timer = setTimeout(this.changeImg.bind(this), this.time);
}
pauseSlider() {
this.pause.innerHTML = "▶";
this.playing = false;
clearTimeout(this.timer);
}
playSlider() {
this.pause.innerHTML = "❚❚";
this.playing = true;
this.timer = setTimeout(this.changeImg.bind(this), this.time);
}
initPause() {
if (slider.playing) {
slider.pauseSlider();
} else {
slider.playSlider();
}
}
register() {
var that = this;
window.addEventListener("keydown", function (e) {
return that.touchesBouton(e);
});
}
touchesBouton(e) {
switch (e.keyCode) {
case 39:
this.imageSuivante();
break;
case 37:
this.imagePrecedente();
break;
}
}
}
let slider = new Slider(0, 5000, "", [], true); |
Partager