Tengo un problema al realizar una función recursiva mediante setTimeout y parámetro un parámetro "this". Mi idea es que el contenido que está dentro de una caja de texto (input text) se desplace de izquierda a derecha. El problema aparece con la función setTimeout, el código es el siguiente:
Código HTML:
Ver original
<input type="text" onmouseover="mueveTexto(this);" onmouseout="restaurar();" value="ARNES" name="nombreF" id="nombreF" />
Código Javascript:
Ver original
function mueveTexto(id){ var texto=id.value; texto = texto.substring(1, texto.length) + texto.charAt(0); this.value = texto; tiempo = setTimeout("mueveTexto("+id+")",150); } function restaurar(){ clearTimeout(tiempo); }
El error me lo lanza en setTimeout, el siguiente error:
Syntax error at line 1 in call to setTimeout:
mueveTexto([object HTMLInputElement])
----------------^
syntax error
¿No es esto lo que se ejecuta la primera vez al poner el ratón encima? Podría hacer esto sin problemas con un par de variables globales pero prefiero "hacerlo bien".
Gracias.