function myResizeFunction() {
...
}
$(function() {
$(window).resize(myResizeFunction).trigger('resize');
});
Dies führt dazu, dass Ihr Handler für die Größenänderung beim Ändern der Fenstergröße und beim Bereitstellen von Dokumenten ausgelöst wird. Natürlich können Sie Ihren Größenänderungshandler auch außerhalb des dokumentenfertigen Handlers anhängen, wenn Sie möchten.trigger('resize') stattdessen beim Laden der Seite ausgeführt werden .
AKTUALISIEREN : Hier ist eine weitere Option, wenn Sie keine anderen Bibliotheken von Drittanbietern verwenden möchten.
Diese Technik fügt Ihrem Zielelement eine bestimmte Klasse hinzu, sodass Sie den Vorteil haben, das Styling nur über CSS zu steuern (und Inline-Styling zu vermeiden).
Außerdem wird sichergestellt, dass die Klasse nur hinzugefügt oder entfernt wird, wenn der tatsächliche Schwellenwert ausgelöst wird, und nicht bei jeder Größenänderung. Es wird nur an einem Schwellenwert ausgelöst : Wenn sich die Höhe von <= 818 auf> 819 oder umgekehrt ändert und nicht mehrmals in jeder Region. Es geht nicht um eine Änderung der Breite .
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');
});
Als Beispiel haben Sie möglicherweise einige Ihrer CSS-Regeln:
.footer {
bottom: auto;
left: auto;
position: static;
}
.footer.hgte819 {
bottom: 3px;
left: 0;
position: absolute;
}
$(window).resize(function(){...})