Código:
Pues bien, en el setTimeout no sé por qué pero no puedo llamar a la función opacidad (value), si lo sustituyo por un alert con las mismas comillas funciona perfectamente. Si elimino las comillas y quito la variable pasada por parámetro también, sin embargo necesito pasar la variable.function MenuList (param1, param2) { /* Variables */ var main = getEl (param1); var sub = getEl (param2); /* Eventos */ main.onmouseover = hover; main.onmouseout = leave; function hover () // { for (var i = 0; i <= 10; i++) { setTimeout('opacidad (' + i + ')', i * 50); } } function leave () { for (var i = 10; i > 0; i--) { setTimeout ('opacidad (' + i + ')', (10 - i) * 50); } } function opacidad (value) { sub.style.opacity = value / 10; // sub.style.filter = 'alpha(opacity=' + val * 10 + ')'; } function getEl (val) { return (typeof (val) == 'string') ? document.getElementById(val) : val; } }
¿Alguna idea? Gracias de antemano.