¿Puedo tener 2 funciones JQuery que se superponen entre sí, ejecutándose en 1 página?
Frecuentes
Visto 211 veces
0
Hola, tengo un problema al implementar 2 jquery en una página html, esta es la consulta que estoy usando:
<script language="Javascript" type="text/javascript" src="js/jquery.blinds-0.9.js"></script>
<script type="text/javascript"> //running the script for blinds
$(window).load(function () {
// start the slideshow
$('.slideshow').blinds();
})
</script>
<script language="Javascript" type="text/javascript" src="jquery.min.js"></script>
<script language="Javascript" type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript"> //running the script for accordion
$(document).ready(function() {
$("#accordion").accordion();
});
</script>
El problema es que solo se puede ejecutar 1 script si los implemento en html (ya sea acordeón o persianas), ¿alguien sabe cómo modificarlos para que se pueda ejecutar todo el jquery y pueda reutilizarlos en una página?
por ejemplo, las persianas no se ejecutarán si agrego la referencia js acordeón a la cabeza.
La respuesta sería muy apreciada, gracias de antemano!
2 Respuestas
4
solo uno se ejecuta porque el otro se ejecuta antes de que se cargara jQuery
tratar:
<script src="jquery.min.js"></script> <!--jQuery-->
<script src="jquery-ui.min.js"></script> <!--jQueryUI plugin-->
<script src="js/jquery.blinds-0.9.js"></script> <!--blinds plugin-->
<script> <!--your scripts-->
$(function() {
$('#accordion').accordion();
$('.slideshow').blinds();
});
</script>
Y también debes jQueryUI tiene un efecto de persianas incorporado. Es posible que no necesite el complemento de persianas si tiene el mismo efecto.
contestado el 22 de mayo de 12 a las 15:05
0
En primer lugar, intente limpiar el orden en el que llama a los scripts. Deje que jQuery se cargue primero, luego todas las demás bibliotecas y su secuencia de comandos personalizada al final. También es posible que desee guardarlo en un archivo JS externo para mejorar el mantenimiento.
<script type="text/javascript" src="js/jquery.blinds-0.9.js"></script>
<script type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="path/to/your/javascript/foo.js"></script>
Asimismo, el atributo language="Javascript"
es redundante y se puede quitar con seguridad.
Dentro de la foo.js
archivo, utilice lo siguiente:
$(document).ready(function () {
// start the slideshow & accordion
$('.slideshow').blinds();
$("#accordion").accordion();
});
La diferencia aquí es que usas $(document).ready()
en lugar de $(window).load()
. Además, debe invocar el $(document).ready()
solo una vez, no dos.
Espero que ayude.
contestado el 22 de mayo de 12 a las 16:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery html webpage or haz tu propia pregunta.
¿Podría publicar el mensaje de error desde la consola de Javascript? - pixelistik