22-04-2009, 01:43 AM
Bonjour,
C'est de nouveau moi, j'ai voulut rendre l'effet un peu plus agréable à l'oeil en utilisant la fonction fadeIn() pour faire apparaître l'info-bulle et fadeOut() pour la faire disparaître.
J'ai commencer par modifier la div:
Ensuite, je pensait que 2 ou 3 adaptations suffirait:
Il semble que ce fut naïf de ma part, plus rien ne marche...
Quelqu'un sait pourquoi ?
C'est de nouveau moi, j'ai voulut rendre l'effet un peu plus agréable à l'oeil en utilisant la fonction fadeIn() pour faire apparaître l'info-bulle et fadeOut() pour la faire disparaître.
J'ai commencer par modifier la div:
<!-- Div de l'infobulle -->
<div id="tips" style="position:absolute; display:none; z-index:1000;"></div>
Ensuite, je pensait que 2 ou 3 adaptations suffirait:
(function($) {
$.valmetips = {
freeze: false,
//Affichage de l'info-bulle
over_tips: function(ths, message, title) {
var moveHandler = function(e) {
//On affiche
$("div#tips").stop().fadeIn("fast");
//Div visible (e.PageX ou sourisLeft)
$("div#tips").css({top: (sourisTop+20)+"px", left: (sourisLeft+30)+"px"});
};
//On vide les piles
var outHandler = function() {
jQuery(ths)
.unbind("mousemove",moveHandler)
.unbind("mouseout",outHandler);
};
//je pointe sur le lien où est la souris
if (!$.valmetips.freeze)
{
//Injection du message
$("div#tips").append(title+message);
jQuery(ths)
//à chaque fois que la sourie bouge, j'exécute moveHandler
.bind("mousemove", moveHandler)
//quand je quitte le lien, j'exécute outHandler qui va enlever les actions
.bind("mouseout",outHandler);
}
}
,
cache_tips: function() {
if (!$.valmetips.freeze)
{
//On vide la div.
$("div#tips").empty();
//On la rend invisible
$("div#tips").stop().fadeOut("fast");
}
}
,
click_tips: function(ths, message, title) {
//on zappe tout.
jQuery(ths).unbind();
//On zappe la div
$("div#tips").empty();
$("div#tips").stop().fadeIn("fast");
//On ajoute le contenu
$("div#tips").append(title+message);
//on affiche la div
$("div#tips").css({top: (sourisTop)+"px", left: (sourisLeft)+"px"});
//On active le freeze
$.valmetips.freeze = true;
//sortie de l'infobulle
$("div#tips").mouseout(function () {
//On vide la div.
$("div#tips").empty();
//On la rend invisible
$("div#tips").stop().fadeOut("fast");
//On désactive le freeze
$.valmetips.freeze = false;
}
);
}
}
//Accès rapide
over_tips = function(message, title) {
$.valmetips.over_tips(this, message, title);
}
cache_tips = function() {
$.valmetips.cache_tips();
}
click_tips = function(message, title) {
$.valmetips.click_tips(this, message, title);
}
})(jQuery);
Il semble que ce fut naïf de ma part, plus rien ne marche...
Quelqu'un sait pourquoi ?