Ich habe mehrere ähnliche Fragen hier auf StackOverflow gelesen, ach, keine der Lösungen funktionierte für mich.Dynamische CSS-Klasse zu Fixed DIV hinzufügen, wenn es zu einem anderen HTML-Element gescrollt wird
Ich möchte eine CSS-Klasse dynamisch zu HTML-Element hinzufügen, wenn es die Seite nach einem anderen HTML-Element gescrollt wird und die Klasse entfernen, wenn der Benutzer die Seite zurück scrollt.
Insbesondere möchte ich Position ändern: fixed eines DIV-Element zu position: absolute, wenn es die Spitze der Fußzeile div erreicht, so dass effektiv das DIV-Element sein stoppt zum unteren Rand des Bildschirms befestigt und Stöcke am oberen Rand der Fußzeile div, so dass es dort bleibt, während der Benutzer weiter den Rest der Seite nach unten scrollt.
Ich habe versucht, mehrere JavaScript-Code-Snippets anzupassen, aber keine funktionierte genau so, wie ich es möchte. Hier ist mein bester Versuch:
$(function() {
var menu = $('#fixedbtn');
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= $('#footer-1').offset().top) { // check the offset top
menu.addClass('fixedPosition');
} else { // check the scrollHeight
menu.removeClass('fixedPosition');
}
});
});
Ich mag die Klasse „fixedPosition“ die #fixedbtn div hinzuzufügen, wenn es vorbei an der Spitze des # footer-1 div, gescrollt wird und auch die Klasse entfernen, wenn die Der Benutzer scrollt zurück, so dass # footer-1 vom unteren Bereich des Ansichtsfensters zurückfällt.
Die Verwendung von festen Pixelabständen von der Seite oben funktioniert in diesem Fall nicht für mich. Ich möchte den Ereignisauslöser, der die Klasse dem div hinzufügt, um zu feuern, wenn der obere Teil des < # footer-1> div auf dem unteren Bildschirm des Benutzers angezeigt wird.
Könnten Sie, andere Code-Dichter, mich bitte zur richtigen Lösung führen, um die gewünschten Ergebnisse zu erzielen?
Beautiful! :-) Ich habe deinen Code mit Ehrfurcht betrachtet. Dann hat es perfekt funktioniert. Wunderbare Lösung! Danke, Amal Zi, für die Hilfe und die Lektion. :) P.S. Es ist interessant festzustellen, dass der Code immer noch funktioniert, unabhängig davon, ob ich einen leeren class = "" - Halter im DIV-Tag hinzufüge oder nicht. Der Code fügt das Ganze hinzu! :-D – ivetame
Ich habe versucht, Ihren Code in Magento 2.1 Template-Datei zu implementieren. Ich habe alle möglichen Formate ohne Erfolg ausprobiert. Es wird einfach nicht funktionieren. Hast du eine Ahnung warum? Ich werde deine Hilfe sehr schätzen. :) Hier ist mehr Informationen über das Problem in dieser Magento Stackexchange Frage: https://magento.stackexchange.com/questions/192013/how-to-implement-javascript-snippet-in-magento-phtml-file-so -that-es-funktioniert – ivetame
ich werde es untersuchen :) – Amal