J'essaie d'implémenter le popup de survol d'image de jquery mais je rencontre un problème lorsque le popup est plus proche du bord du navigateur, il va au-delà de son bord. Je veux qu'il change de direction lorsqu'il constate que l'espace n'est pas suffisant pour afficher ce popup, j'ai vu cet effet dans de nombreux plugins où les popups, tooltips et menus déroulants changent de direction s'ils sont proches du bord de la fenêtre du navigateur.
Quelqu'un peut-il me guider dans la bonne direction ? Voici la capture d'écran pour référence http://img512.imageshack.us/img512/4990/browseredge.png
Voici le code de survol de jquery
function imagePreview(){
/* 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 : "";
var newName = this.name;
//console.log(this.name);
newName=newName.replace("/l/","/o/");
//console.log(newName);
$("body").append("<p id='preview'><img src='"+ this.name +"' alt='Image preview' style='margin-bottom:5px;'>"+ c +"</p>");
$("#preview img").error(function () {
$("#preview img").attr("src" ,newName).css({'width': '400px', 'height': 'auto'});
});
$("#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");
});
};
toute aide sera appréciée
Merci
Salman