Bonjour,
Voila je me demandais si vous auriez une astuce pour éviter qu'une popup (un div quoi) ne sorte pas l'écran lorsque celui est tout a droite.
De base le popup pop a droite du texte, j’imagine qu'avec JQuery on peut voir si la div sort a ce moment là on l'affiche a gauche.
Est ce possible et surtout comment ?
Merci d'avance
See you :)
Salut! Peux tu nous dire quel plugin tu comptes utiliser pour te donner le bon code?
En gros dans le principe, tu vas avoir un paramètre
placement : "left|right"
Le pricipe est d'analyser la place que prend la div, la taille de l'écran et si la taille de la popup est plus grande que la place restante. En gros
var window_length = window.length;
var div_length = $('div').length;
Var div_position = $('div').offset().left;
Var placement = "right";
if(window_length - div_position < div_length)
placement = "left";
Salut prbaron,
Merci pour ton astuce, elle fonctionne très bien !
J'un peu adapté a mon code, qui n'est surement pas parfait mais bon :p
<li>
<a href="#" data="popover"><img src="http://lorempixel.com/100/100/food"></a>
<div id="popover" class="left">txt</div>
</li>
$('a[data|="popover"]').mouseenter(function(){
var window_length = $(window).width();
var div_length = $(this).next('#popover').width();
var a_length = $(this).width();
var a_position = $(this).offset().left;
if(window_length - a_position-a_length < div_length){
$(this).next('#popover').removeClass("left").addClass('right').show();
}else{
$(this).next('#popover').removeClass("right").addClass('left').show();
}
});
$('a[data|="popover"]').mouseleave(function(){
$(this).next('#popover').hide();
});