Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2009, 00:38
diego1311
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 5 meses
Puntos: 3
Pregunta Problema al usar funcion con parametros en setTimeOut

Hola intento hacer que aparezcan, una despues de otra y cada 20 milisegundos, uno de dos grupos de opciones en una capa div.

El grupo de opciones que aparece cambia segun el boton al que haga click

Mi codigo es:

Código HTML:
<html>
<body>
<script language="javascript">
var opciones1=new Array("a","b","c","d","e")
var opciones2=new Array("uno","dos","tres","cuatro","cinco")
var opciones=new Array();
var n=0;

function MostrarMenu(opciones, Obj)
{
	var Obj_s=document.getElementById(Obj);
	Obj_s.innerHTML=Obj_s.innerHTML+opciones[n]+"<br>";	
	
	if (opciones[n+1])
	{	
		n=n+1;
		setTimeout("MostrarMenu("+opciones+",'"+Obj+"')",20);			
	}
	else
		n=0;

}
</script>

<input type="button" onclick="MostrarMenu(opciones1, 'div_opciones')" value="opciones 1"/>
<input type="button" onclick="MostrarMenu(opciones2, 'div_opciones')" value="opciones 2"/>
<div style='position:absolute; border-style:solid; border-width:1px;' id='div_opciones'></div>
</body></html> 
Aqui esta el ejemplo:

http://www.diego1311.byethost6.com/prueba_Write.html

El error que sale es que el primer elemento del arreglo no esta definido, veanlo ustedes en el ejemplo.. Tb di una mirada a otros temas anteriores parecidos al mio pero no me han ayudado, por favor diganme qué cambio hacer en mi codigo para que funcione. Gracias

PD: Ya intente de todo-por ejemplo quitando y poniendo aprostofes y comillas, solo funciona cuando en la funcion setTimeout cambio ("+opciones+") por el nombre de uno de los arreglos previamente definidos ya sea opciones1 u opciones2.