JQuery Tooltip UI – déclenche une info-bulle après x secondes

Voici ce que j'ai jusqu'ici:

<!DOCTYPE HTML> <html> <head> <title>Tooltip Testings</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> body { margin: 60px auto; } p { padding:0; margin: 4px auto; text-align: center; } </style> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.min.css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script> <script type="text/javascript"> $(function() { $(document).tooltip({ items: '.tooltip', show: 100, hide: 500, position: { my: 'center bottom', at: 'center top' }, content: function( callback ) { var msgid = this.id.split('_')[1]; $.ajax({ type: 'post', url: '/tooltip.php', data:'i='+msgid, success: function( data ) { callback( data ); } }); } }); }); </script> </head> <body> <p><a class="tooltip" id="i_283" href="articles/programming-in-php.html">PHP Article</a></p> <p><a class="tooltip" id="i_567" href="articles/programming-in-c.html">C+ Article</a></p> <p><a class="tooltip" id="i_741" href="articles/programming-in-aspx.html">ASPX Article</a></p> <p><a class="tooltip" id="i_860" href="articles/programming-in-java.html">Java Article</a></p> </body> </html> 

Ce qui précède fonctionne comme il est supposé fonctionner, cependant, je voudrais déclencher la info-bulle uniquement après que la souris survienne le lien pour une durée spécifique (comme 2 secondes, par exemple).

Aussi, j'aimerais annuler le déclencheur si l'utilisateur déplace la souris hors du lien avant que le délai spécifié expire.

Est-ce que quelqu'un peut m'aider à ce sujet?

Merci beaucoup.

J'ai finalement réussi à réaliser ce que je cherchais.

Voici le résultat final:

 <!DOCTYPE HTML> <html> <head> <title>Tooltip Testings</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> body { margin: 60px auto; } p { padding:0; margin: 4px auto; text-align: center; } </style> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.min.css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script> <script type="text/javascript"> $(function() { $(document).tooltip({ items: '.tooltip', show: 100, hide: 500, position: { my: 'center bottom', at: 'center top' }, content: function( callback ) { var ARTid = this.id.split('_')[1]; var TTtmr = setTimeout( function() { $.ajax({ type: 'post', url: '/tooltip.php', data: 'i='+ARTid, success: function( data ) { callback( data ); } }); }, 800 ); $('.tooltip').mouseleave( function() { clearTimeout( TTtmr ); } ); } }); }); </script> </head> <body> <p><a class="tooltip" id="i_283" href="articles/programming-in-php.html">PHP Article</a></p> <p><a class="tooltip" id="i_567" href="articles/programming-in-c.html">C+ Article</a></p> <p><a class="tooltip" id="i_741" href="articles/programming-in-aspx.html">ASPX Article</a></p> <p><a class="tooltip" id="i_283" href="articles/programming-in-java.html">Java Article</a></p> </body> </html> 

Vous pouvez essayer ceci:

 $(function() { $(document).tooltip({ items: '.tooltip', hide: 500, position: { my: 'center bottom', at: 'center top' }, content: 'Testing jquery tooltips!', show: { effect: "slideDown", delay: 250 } }); }); 

La propriété show accepte le paramètre objet avec les propriétés suivantes; effect, delay, duration, and easing .

http://api.jqueryui.com/tooltip/#option-show