In diesem Artikel wird hauptsächlich beschrieben, wie ein Anzeigefeld im Schiebereglerstil basierend auf vorhandenen Komponenten (z. B. dem Swiper des WeChat-Applets und swiper.js, das wir normalerweise in h5 verwenden) implementiert wird. Die Demo basiert auf einem Miniprogramm, die Logik ist jedoch universell. HintergrundIch arbeite gerade an einem neuen Miniprogramm. Auf der Homepage gibt es ein Swiper-Modul. Dank der hervorragenden Arbeit meiner Design-Klassenkameraden 😭 habe ich etwas Freude an der langweiligen Entwicklung gefunden. Sie haben die Punkte im Anzeigefeld des Wischers in einen Schieberegler geändert. Mal ehrlich, wäre es nicht schön, sie einfach in eine Reihe zu setzen und anzuklicken? Hahahaha. Aber ich liebe ihn~ ZieleffektInsgesamt ist es einfach. Vor allem der Schieberegler unten muss noch etwas überarbeitet werden. Nach dem Sortieren der Anforderungen müssen folgende Funktionspunkte implementiert werden:
IdeenNach der Sortierung sieht der Umsetzungsplan wie folgt aus:
erreichenswiper hört auf ÄnderungenZuerst müssen wir das Änderungsereignis des Swipers verwenden. Der Code lautet wie folgt: <Swiper Klasse = "Hot-Content-Swiper" Indikatorpunkte = "{{Indikatorpunkte}}" vertikal="{{vertikal}}" bindchange="sliderHandler"> <block wx:für="{{popular_zone_list}}" wx:key="*dies"> <Swiper-Element> <Klasse anzeigen="Hotlist"> Das ist Swiper{{index}} </Ansicht> </swiper-item> </block> </swiper> Benutzerdefiniertes PunktmodulZweitens müssen wir den DOM von dot anpassen, also unseren Slider-Bereich. Der Code lautet wie folgt: <Ansichtsklasse="Punkt"> <view class="dot-bar" style="width: {{dotBarWidth}}rpx"></view> </Ansicht> Dazu muss unserem Schieberegler eine Anfangsgröße zugewiesen werden, da es sonst nach dem Verschieben zu einem Zittern bei der Breitenänderung kommt, nämlich der dotBarWidth. Die Größe des Sliders berechnet sich aus der Länge des Slides und der Anzahl der Swiper-Items. Nachdem wir die Breite auf diese Weise ermittelt haben, müssen wir sie nur noch um ein Vielfaches der Schiebereglerbreite versetzen. sei Punktbreite = 100; let dotBarWidth = Math.round(dotWidth/popular_zone_list.length); Logik im ÄnderungsereignisDie Vorlage wurde geschrieben, also beginnen wir mit dem Schreiben des Änderungsereignisses. Der Code lautet wie folgt: SchiebereglerHandler({detail}) { sei curPage = detail.current; lass self = dies; dies.animieren('.dot-bar', [ { translateX: self.prePage * 100 + '%', transformOrigin: "Mitte", }, { translateX: aktuelleSeite*100 + '%', transformOrigin: "Mitte", }, ], 100, Funktion () { // Rückruf animieren self.prePage = curPage; selbst.clearAnimation('.container', { übersetzenX: wahr, transformOrigin: wahr }); }); }, // Wenn es kein Miniprogramm ist, kann this.animate durch einen dynamisch gebundenen Stil oder andere DOM-Operationen ersetzt werden. Finden Sie nicht, dass diese Funktion, nachdem sie implementiert wurde, sehr einfach und ziemlich gut ist? 😒 Abschließende GedankenEhrlich gesagt habe ich während des Implementierungsprozesses einige dumme Dinge getan, die möglicherweise mit meinem damaligen Zustand zusammenhingen. Ich war zu sehr darauf konzentriert, zu beurteilen, ob der Schieberegler nach links oder rechts geschoben wurde, was zu einem Umweg führte. Basierend auf den Ergebnissen stellten wir jedoch fest, dass wir nur die Start- und Endpositionen berechnen müssen und die Startposition des Wischs nach links größer als die Endposition sein muss. Ich hoffe, das obige Schema kann Ihnen als Referenz dienen~🎉 Dies ist das Ende dieses Artikels zum Ändern des Punkts im WeChat-Miniprogramm „Swiper-dot“ in einen Schieberegler. Weitere relevante Inhalte zum Ändern des Punkts im WeChat-Miniprogramm „Swiper-dot“ in einen Schieberegler finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Docker-Datenverwaltung und Netzwerkkommunikationsnutzung
>>: Zusammenfassung der Methoden zum Suchen und Löschen doppelter Daten in MySQL-Tabellen
[Problembeschreibung] Auf der Anwendungsseite wir...
Inhaltsverzeichnis 1. faul 2.trimmen 3.Nummer 4.H...
1.17.9 Wirklich leckerer Nginx-Download-Adresse: ...
Im vorherigen Artikel wurde der Docker-Dienst ins...
CSS- CodeInhalt in die Zwischenablage kopieren .b...
Vorwort: Verwenden Sie den Wasserzeicheneffekt im...
Inhaltsverzeichnis Kurze Umfrage Langfristige Abf...
Ich habe vor Kurzem angefangen, Linux zu lernen. ...
Inhaltsverzeichnis 1. Systemüberwachung 2. Dateio...
Die Entwicklung der Docker-Technologie bietet ein...
1. Alipay-Methode: Alipay-Methode: Klicken Sie zu...
MySQL ist ein Open-Source-Verwaltungssystem für k...
Vorwort Alle Hardwaregeräte im Linux-System werde...
Auf keinen Fall. Es stellt sich heraus, dass es L...
Um mehrere Datenbanken zu sichern, können Sie den...