VorwortIn diesem Artikel wird ein Problem beschrieben, auf das ich bei meiner letzten Arbeit gestoßen bin. Im Prozess der hybriden Entwicklung der nativen App und des Front-Ends h5 ist eine der Seiten die Seite zur Auswahl einer Städteliste, ähnlich der Städteauswahl in Meituan und Ele.me, der Banklistenauswahl in der Bank-App und der schnellen Positionierung des Ankerpunkts der Kontaktauswahl im Adressbuch. Als Anfänger empfinde ich diese Funktion immer noch als etwas anstrengend. Lassen Sie mich einige der Implementierungsmethoden mit Ihnen teilen, die ich gefunden habe. Was ist das Ankerpunktproblem?Bei PC-seitigen Webseiten gibt es auf der rechten Seite der allgemeinen Webseite eine Schaltfläche zum Zurück-nach-oben-Knopf. Klicken Sie darauf, um direkt zum Anfang der Webseite zu springen. Dies ist die Realisierung des Ankerpunkts. Bei mobilen Geräten öffnen Sie das Adressbuch Ihres Telefons, klicken auf den Buchstaben rechts und die Seite springt direkt zum Kontakt mit dem entsprechenden Buchstaben. Dies ist auch die Implementierung des Ankerpunkts. Gemeinsame Lösungen1. Das href-Attribut im <a>-Tag wird auf den Wert der ID des Sprungelements gesetzt<Stil> #meindiv{ Höhe: 1200px; Breite: 100 %; Hintergrundfarbe: rosa; Position: relativ; } A{ Position: absolut; oben: 1000px; links: 1000px; } </Stil> <div id="meindiv"> Ich bin oben auf der Seite</div> <a href="#mydiv" rel="external nofollow" >Zurück zum Anfang</a> Die obige Methode entspricht dem Setzen eines Hyperlinks und das A-Tag springt direkt, allerdings ändert dies die Adresse in der Adressleiste des Browsers, was nicht sehr praktisch ist. 2. Native js erhält die Position der Bildlaufleiste und ändert scrollTop<Stil> Körper{ Position: relativ; } h1{ Rand: 0 automatisch; } .mybtn1{ Position: fest; links: 200px; oben: 500px; } .mybtn2{ Position: fest; links: 200px; oben: 550px; } </Stil> <Text> <h1 id="topH1">1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1 id="tobtmH1">7</h1> <button class="mybtn1" onclick="toTop()">Zurück zum Anfang</button> <Skript> Funktion toTop(){ var topH1 = document.getElementById("topH1") document.documentElement.scrollTop=topH1.offsetTop window.pageYOffset=topH1.offsetTop Dokument.body.scrollTop=topH1.offsetTop; } </Skript> </body> Mit dieser Methode wird der Schaltfläche ein Klickereignis hinzugefügt und die Position der Bildlaufleiste geändert, nachdem das Klickereignis ausgelöst wurde. Bei dieser Methode müssen jedoch Kompatibilitätsprobleme behoben werden, was problematisch ist. Sie wurde auf PCs und Mobilgeräten getestet und für wirksam befunden. 3.element.scrollIntoview bewirkt, dass sich die Bildlaufleiste entsprechend der Ansicht ändert<Stil> Körper{ Position: relativ; } .meindiv{ Rand oben: 100px; Rand: 1px durchgehend rosa; } h1{ Rand: 0 automatisch; } .mybtn1{ Position: fest; links: 200px; oben: 500px; } .mybtn2{ Position: fest; links: 200px; oben: 550px; } </Stil> <Text> <div Klasse="meindiv"> <h1 id="topH1">1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1 id="tobtmH1">7</h1> </div> <button class="mybtn1" onclick="toTop()">Zurück zum Anfang</button> <button class="mybtn2" onclick="toBtm()">Nach unten gehen</button> <Skript> fenster.onload = funktion(){ } // Die aufrufende Methode ist element.scrollIntoview() //Wenn der Parameter wahr ist, wird die Seite oder der Container so gescrollt, dass die Oberkante des Elements mit der Oberkante des Ansichtscontainers ausgerichtet ist. //Wenn der Parameter falsch ist, wird die Unterkante des Elements mit der Unterkante des Ansichtscontainers ausgerichtet. Funktion toTop(){ var topH1 = document.getElementById('topH1') topH1.scrollIntoView(true) } Funktion toBtm() { var tobtmH1 = document.getElementById('tobtmH1') tobtmH1.scrollIntoView(false) } </Skript> </body> Die obige Methode besteht darin, den Ankerpunkt an den oberen oder unteren Rand der Ansicht zu verschieben. Sie hat nicht allzu viele Nachteile und wurde sowohl auf dem PC als auch auf Mobilgeräten getestet und hat sich als effektiv erwiesen. Fortschrittliche LösungenDie erweiterte Methode besteht darin, das Plug-In der dritten Generation „better-scroll“ aufzurufen. Diese Methode wurde nicht persönlich getestet und die Daten enthalten nicht zu viele Fallstricke. Wenn Sie sie benötigen, fügen Sie sie selbst hinzu. Oben sind die Details zu JavaScript, mit dem die Position der Bildlaufleiste ermittelt und die Seite zum Ankerpunkt verschoben wird. Weitere Informationen zum Verschieben der Bildlaufleiste zum Ankerpunkt in JavaScript finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Eine umfassende Zusammenfassung häufig verwendeter Anweisungen in MySQL (unbedingt lesen)
>>: 6 Lösungen für Netzwerkfehler im Docker-Container
In der Front-End-Entwicklung gibt es viele Möglic...
Externer Zugriff Ports nach dem Zufallsprinzip zu...
Ich dachte immer, Docker hätte keine IP-Adresse. ...
v-for-Richtlinie Wenn wir von Listen sprechen, mü...
Inhaltsverzeichnis 1. Spark vs. Hadoop 1.1 Nachte...
Führen Sie den Befehl aus: docker run --name cent...
registrieren Das Front-End verwendet Axios in Vue...
Inhaltsverzeichnis Vorwort 1. Ursache des Problem...
Was sind die Shutdown-Befehle für Linux-Systeme? ...
Bevor Sie idea zum Schreiben von JSP-Dateien verw...
1. Was ist Docker Secret 1. Szenariodarstellung W...
Inhaltsverzeichnis Bereitstellung mehrerer Anwend...
Inhaltsverzeichnis Klassisches Beispiel für einen...
Inhaltsverzeichnis 1. Zweck 2. Grammatik 3. Üben ...
einführen In einem verteilten System ist die vert...