<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!-- <script src="jquery.parpadea.js"></script> -->
<script type="text/javascript">
jQuery.fn.parpadea = function() {
this.each(function(){
elem = $(this);
elem.fadeOut(250, function(){
$(this).fadeIn(250);
});
});
return this;
};
</script>
<style>
BODY {margin:0px;}
#notificacion {background-color:#f00;font-weight:bold;padding:10px;}
</style>
</head>
<body>
<div id='notificacion'>Este texto es una notificación</div>
<h1>Ejemplo de creación de un plugin para jquery</h1>
<p style='cursor:pointer;'><b>Pulsa aqui para hacer parpadear las notificaciones</b></p>
<script type='text/javascript'>
$("p").click(function() {
$("#notificacion").parpadea();
});
</script>
</body>
</html>
- Nombre: El archivo que crees con el código de tu plugin lo debes nombrar como jquery.NombreTuPlugin.js
- fn: Añade las funciones como nuevos métodos por medio de la propiedad fn del objeto jQuery, para que se conviertan en métodos del propio objeto jQuery.
- this: Dentro de los métodos que añades como plugins, la palabra "this" será una referencia al objeto jQuery que recibe el método. Por tanto, podemos utilizar "this" para acceder a cualquier propiedad del elemento de la página con el estamos trabajando.
- ;: Debes colocar un punto y coma ";" al final de cada método que crees como plugin, para que el código fuente se pueda comprimir y siga funcionando correctamente. Ese punto y coma debes colocarlo después de cerrar la llave del código de la función.
- return this: El método debe retornar el propio objeto jQuery sobre el que se solicitó la ejecución del plugin. Esto lo podemos conseguir con un return this; al final del código de la función.
- This.each: Se debe usar this.each para iterar sobre todo el conjunto de elementos que puede haber seleccionados. Recordemos que los plugins se invocan sobre objetos que se obtienen con selectores y la función jQuery, por lo que pueden haberse seleccionado varios elementos y no sólo uno. Así pues, con this.each podemos iterar sobre cada uno de esos elementos seleccionados. Esto es interesante para producir código limpio, que además será compatible con selectores que correspondan con varios elementos de la página.
- Asignación: Asigna el plugin siempre al objeto jQuery, en vez de hacerlo sobre el símbolo $, así los usuarios podrán usar alias personalizados para ese plugin a través del método noConfict(), descartando los problemas que puedan haber sido por plugins con el mismo nombre.