ich viele Beispiele für Befestigung eines Elements oben relativ zu dem Fenster gefunden. Wie repariere ich ein Element X Pixel vom unteren Rand des Fensters? Durch einfaches Ändern ‚oben‘ auf ‚unten‘ funktioniert nicht (zum Beispiel, wenn die Höhe des Elements ist mehr als die Fensterhöhe)Verwendung JQuery-Element von der Unterseite des Fensters befestigen
Von oben:
var pixels = 10;
var $elemPosition = $element.position();
var $elementH = $element.height();
var $windowH = $(window).height();
var $bottom = $element.offset().top + $element.height();
if ($(window).scrollTop() + pixels >= $elemPosition.top) {
$element.css({
'position': 'fixed',
'top': pixels + 'px'
});
} else {
$element.css({
'position': 'relative',
'top': '0px'
});
}
es gelöst! Lösung kam ich mit:
if (($windowH + $(window).scrollTop() - $bottom - pixels) >= 0) {
$element.css({
'position': 'fixed',
'top': ($windowH - $element.height() - pixels) + 'px',
'width': $eW + 'px',
'height': $eH + 'px'
});
} else {
$element.css({
'position': 'relative',
'top': '0px'
});
}
'bottom' statt' top' vielleicht? –
Ich bin mir ziemlich sicher, dass die Höhe des Elements berücksichtigt werden muss – Patriotec
dann die Höhe des Elements erfassen mit '$ element.height();' und sie den 'bottom' Wert gilt :) –