Verwenden Sie Javascript, um eine feste Seitenleiste zu implementieren. Zu Ihrer Information: Der spezifische Inhalt ist wie folgt Ich lerne immer noch das große Frontend. Bitte verzeihen Sie mir, wenn der Code Unregelmäßigkeiten oder falsche Ideen enthält. Vielen Dank für Ihren Rat. Wenn wir in einem bestimmten Einkaufszentrum oder auf bestimmten Websites surfen, stoßen wir häufig auf etwas, das als Seitenleiste bezeichnet wird. Diese ändert sich mit der Dauer unseres Browser-Browsings1 und erreicht dadurch eine feste Position relativ zum Fenster1 **Code wie unten** <!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <title>Titel</title> <Stil> .cm{ Position: absolut; oben: 300px; Rand links: 1150px; Breite: 60px; Höhe: 130px; Hintergrundfarbe: rosa; } .w{ Rand: 10px automatisch; Breite: 80%; } .Kopf{ Höhe: 200px; Hintergrundfarbe: blau; } .Banner{ Höhe: 400px; Hintergrundfarbe: grün; } .hauptsächlich{ Höhe: 1000px; Hintergrundfarbe: Hotpink; } Spanne { Anzeige: keine; /*Position: absolut; unten: 0;*/ } </Stil> </Kopf> <Text> <div Klasse="cm"> <span class="backTop">Zurück zum Anfang</span> </div> <div class="head w">Kopfbereich</div> <div class="banner w">Bannerbereich</div> <div class="main w">Hauptbereich</div> <Skript> var cm = document.querySelector('.cm') var Banner = Dokument.AbfrageSelector('.banner') /*Konsole.log(Banner.OffsetTop)*/ //Die Größe und Position des gekräuselten Kopfes werden außerhalb geschrieben var bannertop=banner.offsetTop var cmtop=cm.offsetTop-bannertop var main = document.querySelector('.main') var goback = document.querySelector('.backTop') var maintop=main.offsetTop document.addEventListener('scroll',Funktion () { //Die Seite wird weggerollt /*console.log(window.pageYOffset)*/ //Wenn der Curl-Header größer als 214 ist, wird die Seitenleiste fixiert, wenn (window.pageYOffset>bannertop){ cm.style.position='fest' cm.style.top=cmtop+'px' }anders { cm.style.position='absolut' cm.style.top='300px' } wenn (window.pageYOffset>maintop){ gehe zurück.style.display='block' }anders { gehe zurück.style.display='keine' } }) </Skript> </body> </html> Demonstrationseffekt Code Erklärung Dabei kommt das dem Dokument hinzugefügte Ereignis „scroll“ zum Einsatz, beim Scrollen wird das Browser-Scroll-Ereignis zum Auslösen der Funktion genutzt. Hier wird eine Variable namens BannerTop festgelegt. Dabei handelt es sich um den Abstand zwischen der Oberseite des grünen Moduls in der Mitte und der Oberseite der Seite. Anschließend wird die Variable cmtop definiert, wobei cm der Abstand von der Seitenleiste zur Oberseite ist, cmtop=BannerTop-cm.OffsetTop. Bestimmen Sie dann, ob die gekräuselte Länge der Seite größer ist als der Abstand vom mittleren Modul nach oben, was bedeutet, ob die Seite zum mittleren Modul gewischt wurde. Wenn sie zum mittleren Modul gewischt wurde, fixieren Sie die Position der Seitenleiste und ändern Sie dann den Abstand von der Seitenleiste nach oben entsprechend. In diesem Fall ist der Wert von cmtop konstant, wenn es nicht in den mittleren Bereich gerollt wird, und wenn es in den mittleren Bereich gerollt wird, Banner, da die Seitenleiste und der mittlere Block relativ statisch sind. Der Wert von Top wird negativ, daher erhöht sich der Wert von cmtop entsprechend und dieser erhöhte Wert wird an den Wert für den Abstand der Seitenleiste vom oberen Rand weitergegeben. Dies führt dazu, dass die Seitenleiste relativ ruhig bleibt, wenn sie in den mittleren Bereich gescrollt wird. Wenn der mittlere Bereich nicht verschoben wird, bleibt die Seitenleiste in der Standardposition. Wenn Sie dann zum letzten Bereich wischen, werden in der Seitenleiste die Worte „Zurück zum Anfang“ angezeigt. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: So installieren Sie Phabricator mit Docker
Verwenden Sie den Befehl mysql, um eine Verbindun...
1. Laden Sie das Installationspaket herunter -Wäh...
Inhaltsverzeichnis 1. Einleitung 2. Einführung in...
Freunde, die Speicherplatz gekauft und Websites er...
Inhaltsverzeichnis Eine Falle bei fileReader Fall...
Wie unten dargestellt: nsenter -t 1 -m -u -n -i s...
1. Installation Das größte Feature von Terminator...
Einführung Als ich mehr über die Datenbanktheorie...
Erklären Sie den gesamten Prozess von CLion von G...
Verwenden Sie ifnull statt isnull isnull wird ver...
MyISAM, eine häufig verwendete Speicher-Engine in...
1.1 Einführung in die iptables-Firewall Netfilter...
Inhaltsverzeichnis Vorwort $attrs Beispiel: $list...
Code kopieren Der Code lautet wie folgt: <html...
Ich habe vor Kurzem einen Tencent-Cloud-Server ge...