Apprenez à créer un plugin jQuery

Vous pourriez penser en vous-même: "Quel est le problème avec jQuery? Vous devez télécharger de nombreux plugins pour que la bibliothèque en vaille la peine.". Tout d'abord, ce n'est pas vrai. Deuxièmement, la bibliothèque jQuery a été spécialement conçue à cet effet. En gardant la bibliothèque principale aussi petite que possible - environ 16 ko - les utilisateurs peuvent ensuite appliquer des plugins supplémentaires à leur propre discrétion. Aujourd'hui, je vais vous apprendre à construire votre premier plugin "Centre" à partir de zéro. Commençons!

Notre objectif

Nous voulons créer un plug-in qui ajustera dynamiquement le style d'un élément spécifié afin de le maintenir à tout moment centré verticalement et horizontalement sur la page, même lorsque la fenêtre du navigateur est redimensionnée. Très peu de choses sont nécessaires à l’avance. Vous devez seulement vous assurer que vous avez téléchargé la bibliothèque jQuery..




Le screencast

Étape 1

La première étape lors de la création d'un plugin consiste à ajouter un fichier Javascript vierge. Les conventions de dénomination stipulent que le fichier doit être nommé "YourPluginName.jQuery.js". Une fois que vous avez créé ce fichier, assurez-vous de créer une référence dans le document..

    

Étape 2

Ensuite, collez le code suivant.

 (fonction ($) $ .fn.center = fonction () var élément = ceci; $ (élément) .load (fonction () changeCss (); $ (fenêtre) .bind ("redimensionner", fonction () changeCss ();); fonction changeCss () var imageHeight = $ (élément) .height (); var imageWidth = $ (élément) .width (); var windowWidth = $ (fenêtre) .width (); var windowHeight = $ (window) .height (); $ (element) .css ("position": "absolute", "left": windowWidth / 2 - imageWidth / 2, "top": windowHeight / 2 - imageHeight / 2 );;);;) (jQuery);

Je vais beaucoup plus en détail dans la vidéo, cependant, j'aimerais quand même revenir sur quelques points clés. Chaque fois que vous créez un plugin, il doit être enveloppé avec:

 $ .fn.center = function () ;

"Centre" devrait être remplacé par le nom de votre plugin. Cela permet à jQuery de savoir que vous étendez ses méthodes. Maintenant, bien que cela ne fasse absolument rien, nous pouvons appeler notre méthode center avec:

 $ (function () $ ("# someElement"). center (););

Étape 3

Vous devez comprendre comment centrer manuellement une image sur une page avant de créer le plug-in. Tout d'abord, votre élément doit être positionné absolument. Sinon, cela ne bougera évidemment pas lorsque nous modifierons les valeurs "gauche" et "haut". Ensuite, l'image doit être décalée de 50% de la largeur du navigateur vers la gauche. Enfin, pour compenser la largeur de l’image, il faut soustraire une moitié de la largeur de l’image..

 fonction changeCss () var imageHeight = $ (element) .height (); var imageWidth = $ (element) .width (); var windowWidth = $ (fenêtre) .width (); var windowHeight = $ (window) .height (); $ (element) .css ("position": "absolu", "gauche": windowWidth / 2 - imageWidth / 2, "top": windowHeight / 2 - imageHeight / 2); ;

Cela placera parfaitement le centre de l'image au centre de la page. C'est un peu difficile à expliquer avec un texte. Assurez-vous de regarder la vidéo pour une explication plus complète.

Étape 4

En continuant, nous devons créer un écouteur lorsque la fenêtre du navigateur est redimensionnée.

 $ (window) .bind ("redimensionner", function () changeCss (););

"ChangeCss ()" est une fonction qui ajuste les valeurs de gauche et du haut de notre image. En l'appelant à nouveau lorsque la fenêtre est redimensionnée, jQuery recalculera ces valeurs.

Vous avez terminé!

Si vous avez des questions, n'hésitez pas à laisser un commentaire et je veillerai à ce que je réponde. Comme toujours, cela pourrait ne pas être "prêt du monde réel". Que se passe-t-il si le Javascript est désactivé? Et bien sûr, il y a quelques façons de faire cela en utilisant du CSS pur - mais je m'éloigne du sujet.

Abonnez-vous aux screencasts hebdomadaires

  1. Une fois ITUNES chargé, cliquez sur l'onglet "Avancé"
  2. Choisissez "S'abonner au podcast"
  3. Entrez "http://feeds.feedburner.com/NETTUTSVideos"

Ça devrait le faire! Le screencast sera également consultable sur ITUNES dans les vingt-quatre prochaines heures..

  • Abonnez-vous au flux RSS NETTUTS pour plus de commentaires et d'articles sur le développement Web au quotidien.