Cita:
Iniciado por erxaca No entiendo esta parte de tu código:
Código HTML:
if(typeof anteriorsrc[serie] != "undefined") {
anterior[serie].src = anteriorsrc[serie];
}
que quiere decir?
Quiere decir que si el elemento en anteriorsrc[serie] no ha sido definido no ejecute la siguiente linea, esto para evitar posibles errores en la asignación del array. Sucedería al principio cuando NO haz creado ningún elemento dentro de esa posición.
Cita:
Iniciado por erxaca no entiendo por qué en tu código le pasas para realizar el control un número y funciona, mientras yo le pasaba una cadena
Código HTML:
onclick="cambiarValores(this,'CocaCola')"
y no funcionaba.
No tiene nada que ver lo que le pases, lo que interesa en como lo utilices dentro de la función, ne mi caso el numero que le envió es el indice del array (series, que por cierto debe utilizar 0 y 1 no 1 y 2):
function cambiarValores(ele,
serie) {
if(typeof anteriorsrc[
serie] != "undefined") {
anterior[
serie].src = anteriorsrc[serie];
}
anterior[
serie] = ele;
anteriorsrc[
serie] = ele.src;
ele.src = "images/flecha_azul.gif";
}
En cambio tu lo que hacías al enviar la cadena era utilizarla como name de un elemento:
function cambiarValores(obj,
prod)
bebidas[i] ==
prod
var bebida =
bebidas[i]; //asignación innecesaria bebida [i] es igual a prod
var imgbebida = document.getElementsByName(
bebida)[0]; //exactamente lo mismo que hacer: var imgbebida = document.getElementsByName(
prod)[0];
si prod = "CocaCola" y no existe ningún elemento con este name, pues te va a saltar el mensaje de que imgbebida es indefinido.
Espero que halla sido lo suficientemente claro. SALUDOS.