Das WeChat-Applet verwendet die Scroll-Ansicht, um eine Links-Rechts-Verknüpfung zu erreichen. Zu Ihrer Information ist der spezifische Inhalt wie folgt Wenn Sie auf die Schaltfläche links klicken, kann die rechte Seite an die angegebene Position springen
Scrollen Sie nach rechts und das linke Menü springt zur entsprechenden Position
Implementierungs-Effekt-Diagramm: Der Hauptcode lautet wie folgt: index.wxml <Klasse anzeigen="Container"> <Ansichtsklasse="Kategorie-links"> <scroll-view scroll-y="true" style="height:100%"> <block wx:für="{{Kategorie}}" wx:Schlüssel="id"> <view class="catgegory-item {{activeId === item.id?'active-item':''}}" data-id="{{item.id}}" bindtap="clickItem">{{item.name}}</view> </block> </scroll-ansicht> </Ansicht> <Ansichtsklasse="Kategorie-Rechts"> <scroll-view scroll-y="true" style="height:100%" scroll-into-view="{{toView}}" scroll-with-animation="ture" bindscroll="scroll"> <Ansichtsklasse="Kategorie-Detail"> <block wx:für="{{Inhalt}}" wx:Schlüssel="id"> <Ansichtsklasse="cateory-main"> <view class="category-title" id="{{item.id}}">{{item.title}}</view> <Klasse anzeigen="Kategorie-Inhalt"> <view class="content-item" wx:for="{{item.options}}" wx:for-item="i" wx:key="id"> <Bild src="{{i.src}}"></Bild> <text>{{i.text}}</text> </Ansicht> </Ansicht> </Ansicht> </block> </Ansicht> </scroll-ansicht> </Ansicht> </Ansicht> index.js //index.js //Anwendungsinstanz abrufen const app = getApp() Seite({ Daten: { zum Anzeigen: 'a1', Aktive ID: „a1“, Kategorie: {name: 'Neues Produkt', id: 'a1'}, { Name: 'Crowdfunding', ID: 'a2' }, { Name: 'Xiaomi Mobiltelefon', ID: 'a3' }, { Name: 'Redmi-Telefon', ID: 'a4' }, { Name: 'Black Shark Game', ID: 'a5' }, { name: "Handyzubehör", id: 'a6' }, { Name: 'TV', ID: 'a7'}, { Name: 'Computer', ID: 'a8' }, ], Inhalt: [ { Titel: '- Neue Produkte -', Optionen: [ { src: '../../image/redmi.png',id: '001',text: 'redmi8'}, { src: '../../image/redmi.png', id: '002', text: 'redmi8A' }, { src: '../../image/redmi.png', id: '003', text: 'Xiaomi 9pro 5G'}, { src: '../../image/redmi.png', id: '004', text: 'redmi8'}, { src: '../../image/redmi.png', id: '005',text: 'redmi8' } ], ID: "a1" }, { Titel: '- Crowdfunding -', Optionen: [ { src: '../../image/zhongchou.png', id: '006', text: 'redmi8' }, { src: '../../image/zhongchou.png', id: '007' ,text: 'redmi8'}, { src: '../../image/zhongchou.png', id: '008', text: 'redmi8' }, { src: '../../image/zhongchou.png', id: '009',text: 'redmi8' } ], ID: "a2" }, { Titel: '- Xiaomi Mobiltelefon -', Optionen: [ { src: '../../image/xiaomi.png', id: '006', text: 'redmi8' }, { src: '../../image/xiaomi.png', id: '007', text: 'redmi8' }, { src: '../../image/xiaomi.png', id: '008', text: 'redmi8' }, { src: '../../image/xiaomi.png', id: '009', text: 'redmi8' } ], ID: "a3" }, { Titel: '- Redmi-Mobiltelefon -', Optionen: [ { src: '../../image/hongmi.png', id: '006', text: 'redmi8' }, { src: '../../image/hongmi.png', id: '007', text: 'redmi8' }, { src: '../../image/hongmi.png', id: '008', text: 'redmi8' }, { src: '../../image/hongmi.png', id: '009', text: 'redmi8' } ], ID: "a4" } ], }, //Ereignisverarbeitungsfunktion onLoad: function () { dies.setData({ zum Anzeigen: 'a1', HöheArr: [] }) let query = wx.createSelectorQuery(); query.selectAll('.catefory-main').boundingClientRect((rect)=> { rechteck.fürJedes(ele => { dies.Height berechnen(ele.height); }) }).exec(); }, Klickelement(e) { dies.setData({ aktiveId: e.currentTarget.dataset.id, zuAnzeigen: e.currentTarget.dataset.id }) }, scrollen(e) { Lassen Sie scrollHeight = e.detail.scrollTop; let index = this.calculateIndex(this.data.heightArr,scrollHeight); dies.setData({ Aktive ID: „a“ + Index }) }, // Scrollintervall berechnen calculateHeight(height) { wenn(!diese.Daten.HöheArr.Länge) { this.data.heightArr.push(Höhe) }anders { diese.data.heightArr.forEach(ele => { Höhe += Element }) this.data.heightArr.push(Höhe); } }, // Berechne den links ausgewählten Index calculateIndex(arr, scrollHeight) { lass index = ''; für(lass i =0;i<arr.length;i++) { wenn (Scrollhöhe >= 0 und Scrollhöhe < arr[0]) { Index = 0; }sonst wenn(scrollHeight >= arr[i-1] && scrollHeight < arr[i]){ Index = i; } } Rückgabeindex+1; } }) index.wxss /**index.wxss**/ .container { Polsterung: 0; Breite: 100 %; Höhe: 100vh; Anzeige: Flex; Flex-Richtung: Reihe; Elemente ausrichten: Flex-Start; } .Kategorie-links { Höhe: 100%; Breite: 22%; Polsterung: 0 20rpx; Box-Größe: Rahmenbox; Rahmen rechts: 1px durchgezogen #efefef; } .Kategorie-Artikel { Polsterung: 20rpx 0; Schriftgröße: 30rpx; Textausrichtung: zentriert; } .aktives-Element { Farbe: orange; } .Kategorie-rechts { biegen: 1; Höhe: 100%; } .Kategorie-Inhalt { Anzeige: Raster; Rastervorlagenspalten: Wiederholen (automatisches Ausfüllen, 190 rpx); } .Kategorie-Titel { Textausrichtung: zentriert; } .Inhaltselement { Anzeige: Flex; Flex-Richtung: Spalte; Polsterung: 20rpx; Textausrichtung: zentriert; Schriftgröße: 30rpx; } .content-item image{ Breite: 120rpx; Höhe: 120rpx; } 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 lösen Sie das Problem der langsamen Geschwindigkeit von MySQL wie bei Fuzzy-Abfragen
Inhaltsverzeichnis Vorwort Schritt Vorwort Heute ...
Vorwort Die logische Datenträgerverwaltung von lv...
<br />Vorab muss ich sagen, dass ich ein abs...
1. Verwenden Sie absolute Positionierung und Ränd...
Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...
In diesem Artikel wird der spezifische Code des W...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Wenn wir Abfrageanweisungen verwenden, mü...
Installieren Sie GeoIP unter Linux yum installier...
Sicht: Wenn eine temporäre Tabelle wiederholt ver...
Dies scheint mit der neuen Version nicht mehr mög...
Inhaltsverzeichnis 1. Datenbankbeschränkungen 1.1...
Installieren Sie Apache aus der Quelle 1. Laden S...
Die in diesem Beispiel verwendete MySQL-Version i...