Advertisement
enricozappa

Untitled

Nov 16th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var slides = document.querySelectorAll(".image-list .slide-image");
  2. var previousImageButton = document.getElementById("prev-image");
  3. var nextImageButton = document.getElementById("next-image");
  4. var currentSlide = 0;
  5. var counter = document.getElementById("slide-count");
  6. var secondaryProgressBar = document.getElementsByClassName("secondary-progress-bar")[0];
  7. var progressBarWidth = 100; // qui ho determinato la larghezza totale della barra grigia
  8.  
  9. function imageCounter() {
  10.     counter.textContent = (currentSlide + 1) + " / " + (slides.length);
  11. }
  12.  
  13. function setSecondaryProgressBarWidth() {
  14.     secondaryProgressBar.style.width = (progressBarWidth / slides.length) + "%"; /* così imposto la larghezza della barra nera che dovrà scorrere sulla grigia */
  15. }
  16.  
  17. function nextSlide() {
  18.     goToSlide(currentSlide + 1);
  19.     increase(); // cliccando sulla freccetta destra, parte questa funzione
  20. }
  21.  
  22. function previousSlide() {
  23.     goToSlide(currentSlide - 1);
  24. }
  25.  
  26. function goToSlide(n) {
  27.     slides[currentSlide].className = "slide-image";
  28.     currentSlide = (n + slides.length) % slides.length;
  29.     slides[currentSlide].className = "slide-image showing";
  30.     imageCounter();
  31. }
  32.  
  33. function increase() {
  34.     var i = secondaryProgressBar.style.width;
  35.     secondaryProgressBar.style.left = i;
  36. } /* questa è la prima funzione che ho scritto, ovviamente non va bene, assegna la larghezza della barra nera alla posizione "left" sul css. */
  37.  
  38. document.addEventListener("onload", imageCounter(), setSecondaryProgressBarWidth() );
  39. nextImageButton.addEventListener("click", nextSlide);
  40. previousImageButton.addEventListener("click", previousSlide);
  41.  
  42. /* io credo che la funzione debba tener conto di quante sono le slide (slides.length), della lunghezza assegnata alla barra nera (secondaryProgressBar.style.width) e modificare dinamicamente il valore della posizione della barra nera (secondaryProgressBar.style.left), sommando, ad ogni avanzamento di posizione, il valore della sua stessa width finché non raggiunge 100 (il valore totale della lunghezza della barra grigia) e ripartire da capo una volta arrivato a 100.
  43. Per avere, ad esempio:
  44. al primo click - secondaryProgressBar.style.left = 25%
  45. al secondo - secondaryProgressBar.style.left = 50%
  46. ecc  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement