¿Puedo tener 2 funciones JQuery que se superponen entre sí, ejecutándose en 1 página?

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!

preguntado el 22 de mayo de 12 a las 15:05

¿Podría publicar el mensaje de error desde la consola de Javascript? -

2 Respuestas

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

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 or haz tu propia pregunta.