Skip to content
Extraits de code Groupes Projets
Valider 9f50bd16 rédigé par b_b's avatar b_b
Parcourir les fichiers

Ajuster le défilement de $.positionner(), notamment dans le cas d'un header en position fixed

Ref #4184
parent eeb349e4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -171,23 +171,27 @@ jQuery.getScript = function(url,callback){
/**
* if not fully visible, scroll the page to position
* target block at the top of page
* if force = true, allways scroll
* if force = true, always scroll
*
* @param bool force
*/
jQuery.fn.positionner = function(force, setfocus) {
var offset = jQuery(this).offset();
var hauteur = parseInt(jQuery(this).css('height'));
var marge = jQuery.spip.positionner_marge || 5;
var scrolltop = self['pageYOffset'] ||
jQuery.boxModel && document.documentElement[ 'scrollTop' ] ||
document.body[ 'scrollTop' ];
var h = jQuery(window).height();
var scroll=0;
if (force || (offset && offset['top'] - 5 <= scrolltop))
scroll = offset['top'] - 5;
else if (offset && offset['top'] + hauteur - h + 5 > scrolltop)
scroll = Math.min(offset['top'] - 5, offset['top'] + hauteur - h + 15);
if (force || (offset && offset['top'] - marge <= scrolltop)) {
scroll = offset['top'] - marge;
}
else if (offset && offset['top'] + hauteur - h + marge > scrolltop) {
scroll = Math.min(offset['top'] - marge - 15, offset['top'] + hauteur - h + 40);
}
if (scroll)
jQuery('html,body')
.animate({scrollTop: scroll}, 300);
......@@ -1064,5 +1068,4 @@ onAjaxLoad(function() {
jQuery("input[placeholder]:text",this).placeholderLabel();
jQuery('.spip_logo_survol',this).hover(spip_logo_survol_hover, spip_logo_survol_out);
}
});
});
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter