Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/05/2017, 04:12
Avatar de agusax
agusax
 
Fecha de Ingreso: junio-2011
Ubicación: Puerto Real (Cádiz)
Mensajes: 74
Antigüedad: 12 años, 10 meses
Puntos: 3
Error al solucionar: Uncaught TypeError: Cannot read property

Buenos días chic@s,

En mi camino de aprendizaje de Javascript, he hecho uso de las siguientes funciones, el cual, este ejemplo lo he encontrado de otros chavales para hacer uso del css en unas imagenes en miniatura, pero me muestra el siguiente error en la consola:

Cita:
Uncaught TypeError: Cannot read property 'className' of undefined
at showDivs (gallery.js:20)
at gallery.js:2
No estoy seguro, ¿pero podría deberse que className está vacía?

Código Javascript:
Ver original
  1. var divIndex = 1;
  2. showDivs(divIndex);
  3.  
  4. function plusDivs(n) {
  5.     showDivs(divIndex += n);
  6. }
  7.  
  8. function currentDiv(n) {
  9.     showDivs(divIndex = n);
  10. }
  11.  
  12. function showDivs(n) {
  13.     var i;
  14.     var x = document.getElementsByClassName("demo");
  15.     if (n > x.length) {divIndex = 1}
  16.     if (n < 1) {divIndex = x.length}
  17.     for (i = 0; i < x.length; i++) {
  18.         x[i].className = x[i].className.replace(" w3-opacity-off", "");
  19.     }
  20.     x[divIndex-1].className += " w3-opacity-off";
  21. }

Muchas gracias de antemano por su tiempo

EDITO: SOLUCIONADO
Llamaba en la linea 2 showDivs y por eso al restarle -1 al divIndex no tenía nada almacenado. Así que he eliminado esa linea
__________________
"Nunca confíes en un ordenador que no puedas lanzar por una ventana" -- Steve Wozniak
"El software es como el sexo: mejor si es libre y gratis" -- Linus Torvalds

Última edición por agusax; 12/05/2017 a las 05:52