Comment faire des info-bulles (avec preview d’image) via jQuery ?
Voici comment faire des info-bulles (tooltip) très facilement grâce à jquery. Avec en plus la possibilité d'y inclure une pré visualisation d'image !
Voici les démo:
Installation
1. On inclu la librairie jQuery dans la page (si ce n'est pas déjà fait) entre les balises HTML <head>
et </head>
2. On inclut les fonctions javascript des tooltip (après jQuery)
Les portions de code suivantes sont à ajouter soit entre des balises <script type="text/javascript"> //le code ici </script>
, soit dans un fichier .js
/* CONFIG */
xOffset = 10;
yOffset = 30;
// these 2 variable determine popup's distance from the cursor
// you might want to adjust to get the right result
/* END CONFIG */
$("a.screenshot").hover(function(e){
this.t = this.title;
this.title = "";
var c = (this.t != "") ? "<br/>" + this.t : "";
$("body").append("<p id='screenshot'><img src='"+ this.rel +"' alt='url preview' />"+ c +"</p>");
$("#screenshot")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px")
.fadeIn("fast");
},
function(){
this.title = this.t;
$("#screenshot").remove();
});
$("a.screenshot").mousemove(function(e){
$("#screenshot")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px");
});
};
this.imagePreview = function(){
/* CONFIG */
xOffset = 10;
yOffset = 30;
// these 2 variable determine popup's distance from the cursor
// you might want to adjust to get the right result
/* END CONFIG */
$("a.preview").hover(function(e){
this.t = this.title;
this.title = "";
var c = (this.t != "") ? "<br/>" + this.t : "";
$("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");
$("#preview")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px")
.fadeIn("fast");
},
function(){
this.title = this.t;
$("#preview").remove();
});
$("a.preview").mousemove(function(e){
$("#preview")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px");
});
};
this.tooltip = function(){
/* CONFIG */
xOffset = 10;
yOffset = 20;
// these 2 variable determine popup's distance from the cursor
// you might want to adjust to get the right result
/* END CONFIG */
$("a.tooltip").hover(function(e){
this.t = this.title;
this.title = "";
$("body").append("<p id='tooltip'>"+ this.t +"</p>");
$("#tooltip")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px")
.fadeIn("fast");
},
function(){
this.title = this.t;
$("#tooltip").remove();
});
$("a.tooltip").mousemove(function(e){
$("#tooltip")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px");
});
};
3. Pour activer les tooltip, on inclut le code suivant:
Les portions de code suivantes sont à ajouter soit entre des balises <script type="text/javascript"> //le code ici </script>
, soit dans un fichier .js
tooltip();//active les tooltip simple
imagePreview();//active les tooltip image preview
screenshotPreview();//active les tooltip lien avec preview
});
4. Ajouter le code CSS suivant à la fin de votre votre feuille de style
#screenshot{
position:absolute;
border:1px solid #ccc;
background:#333;
padding:5px;
display:none;
color:#fff;
}
/* css pour la tooltip image preview */
#preview{
position:absolute;
border:1px solid #ccc;
background:#333;
padding:5px;
display:none;
color:#fff;
}
/* css pour la tooltip normal */
#tooltip{
position:absolute;
border:1px solid #333;
background:#f7f5d1;
padding:2px 5px;
color:#333;
display:none;
}
5. Et voici à quoi doit ressembler le code HTML de vos liens
Pour les tooltip normaux (en fait il faut donner une classe "tooltip" aux liens et un "title")
Pour les tooltip image preview (en fait il faut donner une classe "preview" aux liens)
Pour les tooltip lien avec preview (en fait il faut donner une classe "tooltip" aux liens et un "rel" contenant l'url de l'image)
Css Globe</a>
Pingback: Qu’est ce qui m’a intéressé cette semaine | Sur le fil technologique()
Pingback: Nova’s Blog » Blog Archiv » JQuery Tutorials für Einsteiger()
Pingback: How to: Create a fancy image gallery with JQuery()
Pingback: 3 Semplici ed utili tutorial per jQuery :: Dynamick()
Pingback: Petite sélection de plugin JQuery | Le Blog de Kanon()
Pingback: How to: Create a fancy image gallery with JQuery | Teach YourSelf()