使用javascript的照片库不起作用

时间:2017-06-18 13:00:31

标签: javascript arrays gallery photo

我的代码有问题,我不明白为什么它不起作用。 我想用两个按钮'avanti / indietro'创建一个照片库,另一个按钮'开始/停止'用于开始自动呈现照片。

var nodoIndietro;
var nodoAvanti;
var nodoFoto;
var nodoStart;

var galleria;
var indiceFoto;
var automatico;
const NUMERO_FOTO = 4;
const RITARDO = 2000;

function gestoreAvanti() {
  try {
      if (automatico) {
          return;
      }
      cambiaFoto(+1);
  } catch(e) {
      alert("gestoreAvanti" + e);
  }
}

function gestoreIndietro() {
  try {
      if (automatico) {
          return;
      }
      cambiaFoto(-1);
  } catch(e) {
      alert("gestoreIndietro" + e);
  }
}

function gestoreStartStop() {
  try {
      if (automatico) {
          nodoStart.value = "Start";
          automatico = false;
      } else {
          nodoStart.value = "Stop";
          automatico = true;
          cambiaFotoInAutomatico();
      }
  } catch(e) {
      alert("gestoreStartStop" + e);
  }
}

function cambiaFoto(x) {
  try {
      indiceFoto += x;
      if (indiceFoto == NUMERO_FOTO) {
          indiceFoto = 0;
      }
      if (indiceFoto < 0) {
          indiceFoto = NUMERO_FOTO - 1;
      }
      nodoFoto.setAttribute("src", galleria[indiceFoto]);
  } catch(e) {
      alert("cambiaFoto" + e);
  }
}

function cambiaFotoInAutomatico() {
  try {
      if (automatico) {
          cambiaFoto(+1);
          setTimeout(cambiaFotoInAutomatico, RITARDO);
      }
  } catch(e) {
      alert("cambiaFotoInAutomatico" + e);
  }
}

function inizializza() {
  try {
      nodoIndietro = document.getElementById("indietro");
      nodoAvanti = document.getElementById("avanti");
      nodoFoto = document.getElementById("foto");
      nodoStart = document.getElementById("startStop");
      nodoAvanti.onclick = gestoreAvanti;
      nodoIndietro.onclick = gestoreIndietro;
      nodoStart.onclick = gestoreStartStop;
      nodoStart.value = "Start";
      automatico = false;
      galleria = [];
      for (var i = 0; i < NUMERO_FOTO; i++) {
          var nomeFoto = "foto" + i + ".jpg";
          galleria.push(nomeFoto);
      }
      indiceFoto = 0;
      cambiaFoto(0);
  } catch(e) {
      alert("inizializza" + e);
  }
}

window.onload = inizializza;

和HTML:

<body>
<input type="button" id="indietro" value="Indietro">
<img id="foto">
<input type="button" id="avanti" value="Avanti">
<br>
<input type="button" id="startStop">
</body>
</html>

感谢您的回复! :)

0 个答案:

没有答案