MooTools - Info-bulles

MooTools fournit différentes info-bulles pour concevoir des styles et des effets personnalisés. Dans ce chapitre, nous allons découvrir les différentes options et événements des info-bulles, ainsi que quelques outils qui vous aideront à ajouter ou supprimer des info-bulles d'éléments.

Créer une nouvelle info-bulle

La création d'une info-bulle est très simple. Tout d'abord, nous devons créer l'élément où nous allons attacher l'info-bulle. Prenons un exemple qui crée une balise d'ancrage et l'ajoute à la classe Tips dans le constructeur. Jetez un œil au code suivant.

<a id = "tooltipID" class = "tooltip_demo" title = "1st Tooltip Title" 
   rel = "here is the default 'text' for toll tip demo" 
   href = "http://www.tutorialspoint.com">Tool tip _demo</a>

Jetez un œil au code utilisé pour créer une info-bulle.

var customTips = $$('.tooltip_demo');
var toolTips = new Tips(customTips);

Exemple

L'exemple suivant explique l'idée de base des info-bulles. Jetez un œil au code suivant.

<!DOCTYPE html>
<html>

   <head>
      <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script>
      <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script>
      
      <script type = "text/javascript">
         window.addEvent('domready', function() {
            var customTips = $$('.tooltip_demo');
            var toolTips = new Tips(customTips);
         });
      </script>
   </head>
   
   <body>
      <a id = "tooltipID" class = "tooltip_demo" title = "1st Tooltip Title" 
         rel = "here is the default 'text' for toll tip demo" 
         href = "http://www.tutorialspoint.com">Tool tip _demo</a>
   </body>
   
</html>

Vous recevrez la sortie suivante -

Production

Options d'info-bulle

Il n'y a que cinq options dans Astuces et elles sont toutes assez explicites.

showDelay

Un entier mesuré en millisecondes, cela déterminera le délai avant que l'info-bulle ne s'affiche une fois la souris de l'utilisateur sur l'élément. La valeur par défaut est fixée à 100.

hideDelay

Tout comme showDelay ci-dessus, cet entier (également mesuré en millisecondes) détermine combien de temps attendre avant de masquer le conseil une fois que l'utilisateur quitte l'élément. La valeur par défaut est fixée à 100.

nom du cours

Cela vous permet de définir un nom de classe pour l'habillage de l'infobulle. La valeur par défaut est définie sur Null.

Décalage

Cela détermine à quelle distance de l'élément l'info-bulle apparaîtra. «x» fait référence au décalage de droite, où «y» est le décalage vers le bas (tous deux relatifs au curseur SI l'option «fixed» est définie sur false, sinon le décalage est relatif à l'élément d'origine). La valeur par défaut est x: 16, y: 16

Fixé

Cela définit si l'info-bulle suivra ou non votre souris si vous vous déplacez autour de l'élément. Si vous le définissez sur true, l'info-bulle ne bougera pas lorsque vous déplacez votre curseur, mais restera fixe par rapport à l'élément d'origine. La valeur par défaut est false.

Événements d'info-bulle

Les événements d'info-bulle restent simples, comme le reste de cette classe. Il y a deux événements - onShow et onHide, et ils fonctionnent comme prévu.

onShow ()

Cet événement s'exécute lorsque l'info-bulle apparaît. Si vous définissez un délai, cet événement ne s'exécutera pas tant que le délai ne sera pas écoulé.

onHide ()

L'info-bulle se masque lors de l'exécution de cet événement. S'il y a un délai, cet événement ne s'exécutera pas tant que le délai ne sera pas écoulé.

Méthodes des info-bulles

Il existe deux méthodes pour les info-bulles: attacher et détacher. Cela vous permet de cibler un élément spécifique et de l'ajouter à un objet d'info-bulle (et par conséquent, inhérent à tous les paramètres de cette instance de classe) ou de détacher un élément particulier.

attacher()

Pour attacher un nouvel élément à un objet info-bulle, indiquez simplement l'objet info-bulle, le point d'accrochage sur .attach ();, et placez enfin le sélecteur d'élément entre crochets ().

Syntax

toolTips.attach('#tooltipID3');

dettach ()

Cette méthode fonctionne exactement comme la méthode .attach, mais le résultat est complètement le contraire. Tout d'abord, indiquez l'objet tip, puis ajoutez .dettach (), et enfin placez votre sélecteur d'élément dans ().

Syntax

toolTips.dettach('#tooltipID3');

Example

Prenons un exemple qui explique l'info-bulle. Jetez un œil au code suivant.

<!DOCTYPE html>
<html>
   
   <head>
      <style>
         .custom_tip .tip {
            background-color: #333;
            padding: 5px;
         }
         .custom_tip .tip-title {
            color: #fff;
            background-color: #666;
            font-size: 20px;
            padding: 5px;
         }
         .custom_tip .tip-text {
            color: #fff;
            padding: 5px;
         }
      </style>
      
      <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script>
      <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script>
      
      <script type = "text/javascript">
         window.addEvent('domready', function() {
            var customTips = $$('.tooltip_demo');
            
            var toolTips = new Tips(customTips, {
               showDelay: 1000,    //default is 100
               hideDelay: 100,     //default is 100
               className: 'custom_tip', //default is null
               
               offsets: {
                  'x': 100,       //default is 16
                  'y': 16         //default is 16
               },
               
               fixed: false,      //default is false
               onShow: function(toolTipElement){
                  toolTipElement.fade(.8);
                  $('show').highlight('#FFF504');
               },
               
               onHide: function(toolTipElement){
                  toolTipElement.fade(0);
                  $('hide').highlight('#FFF504');
               }
            });
            
            var toolTipsTwo = new Tips('.tooltip2', {
               className: 'something_else', //default is null
            });
            $('tooltipID1').store('tip:text', 
               'You can replace the href with whatever text you want.');
            $('tooltipID1').store('tip:title', 'Here is a new title.');
            $('tooltipID1').set('rel', 'This will not change the tooltips text');
            $('tooltipID1').set('title', 'This will not change the tooltips title');

            toolTips.detach('#tooltipID2');
            toolTips.detach('#tooltipID4');
            toolTips.attach('#tooltipID4');
         });
      </script>
   </head>

   <body>
      <div id = "show" class = "ind">onShow</div>
      <div id = "hide" class = "ind">onHide</div>
      
      <p><a id = "tooltipID1" class = "tooltip_demo" title = "1st Tooltip Title" 
         rel = "here is the default 'text' of 1" 
         href = "http://www.tutorialspoint.com">Tool tip 1</a></p>
         
      <p><a id = "tooltipID2" class = "tooltip_demo" title = "2nd Tooltip Title" 
         rel = "here is the default 'text' of 2" 
         href = "http://www.tutorialspoint.com">Tool tip is detached</a></p>
         
      <p><a id = "tooltipID3" class = "tooltip_demo_2" title = "3rd Tooltip Title" 
         rel = "here is the default 'text' of 3" 
         href = "http://www.tutorialspoint.com">Tool tip 3</a></p>
         
      <p><a id = "tooltipID4" class = "tooltip_demo_2" title = "4th Tooltip Title" 
         rel = "here is the default 'text' of 4, i was detached then attached" 
         href = "http://www.tutorialspoint.com">Tool tip detached then attached 
         again. </a></p>
         
      <p><a id = "tooltipID5" class = "tooltip2" title = "Other Tooltip Title" 
         rel = "here is the default 'text' of 'other style'" 
         href = "http://www.tutorialspoint.com/">A differently styled tool tip</a></p>
         
   </body>
</html>

Vous recevrez la sortie suivante -

Output