Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2008, 12:22
MRBarto
 
Fecha de Ingreso: julio-2004
Mensajes: 13
Antigüedad: 20 años, 5 meses
Puntos: 0
Usando jQuery con "$(document).ready" corre dos veces el script al inicio

Tengo un pequeño problemilla..

Por un lado, en un .js tengo esto:

Código HTML:
function tag(id) {return document.getElementById(id);}
function randomTips() {
listado = tag("tips").getElementsByTagName("li");
do 
elegido = Math.floor(Math.random() * listado.length);
while (listado[elegido].style.display == "block") ;
for (var i = 0, total = listado.length; i < total; i ++)
listado[i].style.display = (i == elegido) ? "block":"none";
}
Y dentro del HTML, incluí esto:

Código HTML:
<script type="text/javascript">$(document).ready(randomTips)</script> 
Esa linea la tuve que meter dentro del HTML porque aparentemente si la incluia en el .JS la funcion recien se ejecutaba cuando cargaba TODA la pagina.. No se porque, pero incluyendo esa linea en el HTML la ejecuta apenas comienza a cargar...

El problema es que apenas empieza a cargar la página, se ejecuta el "randomTips" pero cuando termina de cargar, se ejecuta de nuevo... Osea, lo que hace basicamente ese JS (que me ayudaron en este foro a armarlo) es elegir un elemento de una lista al azar, y hacerlo visible... Pero al intentar lanzarlo con el $(document).ready, muestra un elemento al azar al empezar a cargar la página, y luego cuando termina muestra OTRO elemento al azar...

Cualquier pista y/o ayuda sobre como resolver esto, estare mas que agradecido...