2009-08-25 27 views
7

Estoy usando jQuery en WordPress (@la página de inicio) y la función de listo no funciona para mí. Tengo un index.php que incluye (php) un encabezado, pie de página y una barra lateral. Probé este código:La función jQuery ready no funciona en WordPress

<script type="text/javascript" src="path_to_jquery/jquery-1.3.2.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     alert ("test text"); 
    }); 
</script> 

La alerta (con el texto "test text") simplemente no está surgiendo de inmediato! Solo aparece después de que mi barra lateral ha sido cargada. Esto significa que mientras estoy viendo la página de índice (la barra lateral aún no está cargada) debo esperar unos segundos hasta que la barra lateral haya terminado de cargarse, y solo cuando se ejecuta el código jQuery: aparece la alerta. Entonces, la función de listo simplemente no funcionará. ¿Alguien puede decirme por qué y cómo puedo resolver este problema? Gracias.

Respuesta

1

¡La alerta (con el texto "texto de prueba") simplemente no aparece de forma inmediata! Solo está apareciendo después de que mi barra de sitio ha sido cargada.

Eso es exactamente the advantage de usar ready. Cuando lo desee en Emergente de inmediato, sólo tiene que hacer

<script type="text/javascript"> 
    alert ("test text"); 
</script> 
44

dentro del entorno de WordPress, utilice esto:

jQuery(function($){ 
    // now you can use jQuery code here with $ shortcut formatting 
    // this executes immediately - before the page is finished loading 
}); 


jQuery(document).ready(function($){ 
    // now you can use jQuery code here with $ shortcut formatting 
    // this will execute after the document is fully loaded 
    // anything that interacts with your html should go here 
}); 
+0

¡Guau! ¡¡¡Gracias!!! ¡Pasé horas intentando descubrir por qué mi jQuery no funcionaba! – Bruno

+1

Como nota aparte: esto responde al título genérico de la pregunta, * "la función jQuery ready no funciona en WordPress" *, pero no resuelve * "Solo está apareciendo después de que mi barra de sitio se ha cargado" *. – Arjan

2

La alerta está surgiendo después de la barra lateral se carga debido listo() se supone que se ejecutará DESPUÉS de que toda la página se termine de cargar.