function myResizeFunction() {
...
}
$(function() {
$(window).resize(myResizeFunction).trigger('resize');
});
Cela entraînera le déclenchement de votre gestionnaire de redimensionnement lors du redimensionnement de la fenêtre et lorsque le document sera prêt. Bien sûr, vous pouvez attacher votre gestionnaire de redimensionnement en dehors du gestionnaire de document prêt si vous souhaitez .trigger('resize')
exécuter à la place le chargement de la page.
MISE À JOUR : Voici une autre option si vous ne souhaitez pas utiliser d'autres bibliothèques tierces.
Cette technique ajoute une classe spécifique à votre élément cible afin que vous ayez l'avantage de contrôler le style via CSS uniquement (et d'éviter le style en ligne).
Cela garantit également que la classe n'est ajoutée ou supprimée que lorsque le point de seuil réel est déclenché et non à chaque redimensionnement. Il se déclenchera à un seul point de seuil: lorsque la hauteur passe de <= 818 à> 819 ou vice versa et non plusieurs fois dans chaque région. Cela ne concerne aucun changement de largeur .
function myResizeFunction() {
var $window = $(this),
height = Math.ceil($window.height()),
previousHeight = $window.data('previousHeight');
if (height !== previousHeight) {
if (height < 819)
previousHeight >= 819 && $('.footer').removeClass('hgte819');
else if (!previousHeight || previousHeight < 819)
$('.footer').addClass('hgte819');
$window.data('previousHeight', height);
}
}
$(function() {
$(window).on('resize.optionalNamespace', myResizeFunction).triggerHandler('resize.optionalNamespace');
});
À titre d'exemple, vous pourriez avoir ce qui suit comme certaines de vos règles CSS:
.footer {
bottom: auto;
left: auto;
position: static;
}
.footer.hgte819 {
bottom: 3px;
left: 0;
position: absolute;
}
$(window).resize(function(){...})