Construire une message box avec jQuery

Bonjour, dans cet article nous allons voir comment construire son propre objet de message box avec jQuery et jQuery-UI.

Vous pouvez vous procurer jQuery sur son site officiel, tout comme jQuery UI. L’ UI permet d’utiliser la bibliothèque javascript pour créer différents effets, animations, et d’intégrer quelques widgets.
Pour faire apparaitre notre message, nous appellerons notre message box de cette manière:

messageBox.show('titre', 'message');

Preparons le div qui va être transformé dans notre page html:

<div id="messagebox"></div>

Ensuite construisons notre objet:

var messageBox = {
	modal: true,
	resizable: true,
	init: function(){
		$('#messagebox').dialog({ autoOpen: false, resizable:  messageBox.resizable, modal: messageBox.modal});
	},
	show: function(title, message){
		$('#messagebox').dialog('option', 'title', title).html(message).dialog('option', 'buttons', { "Ok": function(){$('#messagebox').dialog('close');}}).dialog('open');
	}
};

Notez: vous pouvez rendre la box modale ou non en changeant simplement les attributs à false ou à true au début de la déclaration de l’objet.

Ensuite, il nous faut initialiser notre message box. Pour ce faire, ajouter ceci dans votre balise <script> à la fin de votre <head>:

messageBox.init();

Pour appeler notre messageBox, il ne nous reste plus alors qu’à faire:

messageBox.show('Mon beau titre', 'Un super message qui va plaire à l'utilisateur !');
Posted on février 5, 2010 at 00:15 by Ghaundan · Permalink
In: jQuery · Tagged with: , , ,

3 Responses

Subscribe to comments via RSS

  1. Written by jozzy-online
    on 01/03/2010 at 20:54
    Permalink

    pourquoi pas:)

  2. Written by nico
    on 11/03/2010 at 11:07
    Permalink

    j aime pas du tout le systeme de messagebox de jquery ui, bcp mais alors bcp trop complexe pour rien.

    la plupart des api de gui meme en c++ (qt, mfc) permettent de faire ca en une ligne mais avec jqui il te faut faire un div , mettre 5 lignes de js et un appel

    tres lourd

  3. Written by Ghaundan
    on 11/03/2010 at 15:05
    Permalink

    On peut égallement le faire en une ligne, avec
    $(« #selector »).html(« message »).dialog(‘open’);

    mais l’idée ici c’était d’avoir un système un peu plus personnalisable en faisant un appel plus court

Subscribe to comments via RSS

Leave a Reply