国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
1. Contexte
2. Implémentation
2.1 Introduction du principe
2.1 Code de mise en page
2.2 Code de style
2.3 Code logique
Maison Applet WeChat Développement de mini-programmes Une brève discussion sur la fa?on d'obtenir l'effet de liaison montante et descendante du défilement de liste dans les petits programmes

Une brève discussion sur la fa?on d'obtenir l'effet de liaison montante et descendante du défilement de liste dans les petits programmes

Dec 16, 2021 am 10:30 AM
Mini-programme

Comment le mini programme peut-il obtenir l'effet de faire défiler la liste de haut en bas ? L'article suivant vous présentera la méthode de développement de l'applet WeChat pour faire défiler la liste de haut en bas. J'espère que cela vous sera utile !

Une brève discussion sur la fa?on d'obtenir l'effet de liaison montante et descendante du défilement de liste dans les petits programmes

1. Contexte

Je travaille actuellement sur un petit programme pour mon entreprise. L'une des conceptions est que lorsque la liste défile de haut en bas, les barres d'onglets en haut seront liées entre elles. la barre d'onglets est cliquée. à ce moment, les données de la liste sont également liées.

Ce qui suit est un rendu de l'implémentation?:

Une brève discussion sur la fa?on dobtenir leffet de liaison montante et descendante du défilement de liste dans les petits programmes

La zone d'en-tête en haut ne défile pas avec la liste?; La zone située sous la zone d'en-tête appartient à la zone de défilement.

2. Implémentation

2.1 Introduction du principe

La mise en ?uvre de ce lieu repose principalement sur le composant natif scroll-view de l'applet WeChat.

à l'aide de son attribut scroll-into-view, vous pouvez cliquer sur la barre d'onglets en haut pour faire défiler la page jusqu'à la position de liste spécifiée?;

Utilisez l'événement bindscroll pour conna?tre la distance de défilement de la page actuelle et créer des onglets en fonction de la distance de défilement. Opération de commutation?;

2.1 Code de mise en page

Parlons d'abord de la disposition générale de l'interface, qui est principalement divisée en deux parties, la zone d'en-tête fixe + la zone de liste déroulante.

Lorsque la barre de titre de la zone de liste déroulante défile sur une certaine distance, elle doit également être fixée en haut.

Implémentation du code?:

<!--index.wxml-->
<view class="list">

<!--頂部固定區(qū)域-->
<view style="height: 88rpx;width: 100%;background-color: burlywood;text-align: center;">頭部區(qū)域</view>

<!--可滾動區(qū)域-->
<scroll-view scroll-y="true" style="width: 100%; height: {{scrollAreaHeight}}px;" bindscroll="scroll" scroll-into-view="{{scrollToItem}}" scroll-with-animation="true"  scroll-top="{{scrollTop}}">

   <!--水平滾動的tab欄-->
  <scroll-view scroll-x="true" style="height: 88rpx;width: 100%;">
  <view class="head-area {{float ? &#39;head-float&#39; : &#39;&#39;}}" >
    <view class="head-area-item {{curSelectTab === index ? &#39;head-area-item-select&#39; : &#39;&#39;}}" wx:for="{{appGroupList}}" bindtap="tabClick" data-index="{{index}}">
    {{item.name}}
  </view>
  </view>

  </scroll-view>

<!--數(shù)據(jù)列表-->
<view class="list-group" style="height: {{listGroupHeight}}px;">
  <view class="list-group-item" id="v_{{index}}" wx:for="{{appGroupList}}" data-index="{{index}}">
    <view class="group-name">
      {{item.name}}
    </view>
    <view class="group-children" >
      <view wx:for="{{item.children}}" class="group-children-item" style="width: {{itemWidth}}px;">
      <image src="{{item.url}}"></image>
      <view>{{item.name}}</view>
    </view>
    </view>

  </view>
</view> 
</scroll-view>

</view>

Il y a plusieurs points à surveiller dans le code de mise en page?:

1. scrollAreaHeight calcul de la hauteur de la zone de défilement. --- Obtenez la hauteur de la fenêtre de l'appareil actuel moins la hauteur de la zone fixe supérieure

2 Si la barre d'onglets horizontale est en haut. --- En fonction de la distance de défilement de la page, si la distance de défilement est supérieure ou égale à la hauteur de la barre d'onglets horizontale, elle sera déplacée vers le haut

3. Définissez l'id="v_{?; {index}}" identifiant de la liste de données, puis cliquez sur la barre d'onglets. Le défilement jusqu'à la position spécifiée est implémenté en fonction de cet identifiant.

2.2 Code de style

/**index.wxss**/
.list{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.head-area{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 88rpx;
  width: 100%;
  padding: 0 10;
}

.head-area-item{
  display: flex;
  height: 88rpx;
  text-align: center;
  width: 150rpx;
  align-items: center;
  justify-content: center;
}

.head-area-item-select{
  color: #09bb07;
}

image{
  width: 88rpx;
  height: 88rpx;
}

.list-group{
  display: flex;
  width: 100%;
  height: 1000%;
  flex-direction: column;
}

.list-group-item{
  display: flex;
  width: 100%;
  background-color: #aaa;
  flex-direction: column;
}

.group-name{
  height: 88rpx;
  display: flex;
  text-align: center;
  align-items: center;
  margin-left: 20rpx;
}

.group-children{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.group-children-item{
  height: 160rpx;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.head-float{
  position: fixed;
  top: 88rpx;
  background-color: #ffffff;
}

2.3 Code logique

// index.js
Page({
  heightArr: [],
  //記錄scroll-view滾動過程中距離頂部的高度
  distance: 0,
  data: {
    appGroupList:[
      {name:"分組01",children:[{"name":"測試0","url":"/images/bluetooth.png"},
      {"name":"測試1","url":"/images/bluetooth.png"},
      {"name":"測試2","url":"/images/bluetooth.png"},
      {"name":"測試3","url":"/images/bluetooth.png"},
      {"name":"測試4","url":"/images/bluetooth.png"},
      {"name":"測試5","url":"/images/bluetooth.png"},
      {"name":"測試6","url":"/images/bluetooth.png"},
      {"name":"測試7","url":"/images/bluetooth.png"}]},
      {name:"分組02",children:[{"name":"測試0","url":"/images/bluetooth.png"},
      {"name":"測試1","url":"/images/bluetooth.png"},
      {"name":"測試2","url":"/images/bluetooth.png"},
      {"name":"測試3","url":"/images/bluetooth.png"},
      {"name":"測試4","url":"/images/bluetooth.png"},
      {"name":"測試5","url":"/images/bluetooth.png"},
      {"name":"測試6","url":"/images/bluetooth.png"},
      {"name":"測試7","url":"/images/bluetooth.png"}]},
      {name:"分組03",children:[{"name":"測試0","url":"/images/bluetooth.png"},
      {"name":"測試1","url":"/images/bluetooth.png"},
      {"name":"測試2","url":"/images/bluetooth.png"},
      {"name":"測試3","url":"/images/bluetooth.png"},
      {"name":"測試4","url":"/images/bluetooth.png"},
      {"name":"測試5","url":"/images/bluetooth.png"},
      {"name":"測試6","url":"/images/bluetooth.png"},
      {"name":"測試7","url":"/images/bluetooth.png"}]},
      {name:"分組04",children:[{"name":"測試0","url":"/images/bluetooth.png"},
      {"name":"測試1","url":"/images/bluetooth.png"},
      {"name":"測試2","url":"/images/bluetooth.png"},
      {"name":"測試3","url":"/images/bluetooth.png"},
      {"name":"測試4","url":"/images/bluetooth.png"},
      {"name":"測試5","url":"/images/bluetooth.png"},
      {"name":"測試6","url":"/images/bluetooth.png"},
      {"name":"測試7","url":"/images/bluetooth.png"}]},
      {name:"分組05",children:[{"name":"測試0","url":"/images/bluetooth.png"},
      {"name":"測試1","url":"/images/bluetooth.png"},
      {"name":"測試2","url":"/images/bluetooth.png"},
      {"name":"測試3","url":"/images/bluetooth.png"},
      {"name":"測試4","url":"/images/bluetooth.png"},
      {"name":"測試5","url":"/images/bluetooth.png"},
      {"name":"測試6","url":"/images/bluetooth.png"},
      {"name":"測試7","url":"/images/bluetooth.png"}]},
    ],
    itemWidth: wx.getSystemInfoSync().windowWidth / 4,
    scrollAreaHeight:wx.getSystemInfoSync().windowHeight - 44,
    float:false,
    curSelectTab:0,
    scrollToItem:null,
    scrollTop: 0, //到頂部的距離
    listGroupHeight:0,
  },

  onReady: function () {
    this.cacluItemHeight();
  },

  scroll:function(e){
    console.log("scroll:",e);
    if(e.detail.scrollTop>=44){
      this.setData({
        float : true
      })
    } else if(e.detail.scrollTop<44) {
      this.setData({
        float : false
      })
    }
    let scrollTop = e.detail.scrollTop;
    let current = this.data.curSelectTab;
    if (scrollTop >= this.distance) {
      //頁面向上滑動
      //列表當(dāng)前可視區(qū)域最底部到頂部的距離 超過 當(dāng)前列表選中項距頂部的高度(且沒有下標(biāo)越界),則更新tab欄
      if (current + 1 < this.heightArr.length && scrollTop >= this.heightArr[current]) {
        this.setData({
          curSelectTab: current + 1
        })
      }
    } else { 
      //頁面向下滑動
      //如果列表當(dāng)前可視區(qū)域最頂部到頂部的距離 小于 當(dāng)前列表選中的項距頂部的高度,則切換tab欄的選中項
      if (current - 1 >= 0 && scrollTop < this.heightArr[current - 1]) {
        this.setData({
          curSelectTab: current - 1
        })
      }
    }
    //更新到頂部的距離
    this.distance = scrollTop;
  },

  tabClick(e){
    this.setData({
      curSelectTab: e.currentTarget.dataset.index,
      scrollToItem: "v_"+e.currentTarget.dataset.index
    })
  },

  //計算每一個item高度
  cacluItemHeight() {
    let that = this;
    this.heightArr = [];
    let h = 0;
    const query = wx.createSelectorQuery();
    query.selectAll(&#39;.list-group-item&#39;).boundingClientRect()
    query.exec(function(res) {
      res[0].forEach((item) => {
        h += item.height;
        that.heightArr.push(h);
      })
      console.log(that.heightArr);
      that.setData({
        listGroupHeight: that.heightArr[that.heightArr.length - 1 ]
      })
    })
  },
})

Il y a deux endroits principaux dans le code logique :

1 cacluItemHeight calcule le tableau de hauteur de l'élément dans la liste et enregistre le résultat final du calcul dans le tableau heightArr .

La valeur de chaque élément du tableau heightArr est accumulée en fonction de l'élément précédent.

2. Déterminez la direction de défilement actuelle dans le défilement, déterminez la direction actuelle en fonction du défilement, puis définissez l'onglet actuellement sélectionné en fonction de la distance de défilement.

D'accord, c'est tout. Sur la base du contenu ci-dessus, vous pouvez essentiellement obtenir les effets de liaison de défilement et de liaison d'onglets souhaités.

【Recommandations d'apprentissage associées?: Tutoriel de développement de mini-programmes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Développer l'applet WeChat en utilisant Python Développer l'applet WeChat en utilisant Python Jun 17, 2023 pm 06:34 PM

Avec la popularité de la technologie Internet mobile et des smartphones, WeChat est devenu une application indispensable dans la vie des gens. Les mini-programmes WeChat permettent aux gens d'utiliser directement des mini-programmes pour résoudre certains besoins simples sans télécharger ni installer d'applications. Cet article explique comment utiliser Python pour développer l'applet WeChat. 1. Préparation Avant d'utiliser Python pour développer l'applet WeChat, vous devez installer la bibliothèque Python appropriée. Il est recommandé d'utiliser ici les deux bibliothèques wxpy et itchat. wxpy est une machine WeChat

Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Implémenter des effets de retournement de cartes dans les mini-programmes WeChat Nov 21, 2023 am 10:55 AM

Implémentation d'effets de retournement de cartes dans les mini-programmes WeChat Dans les mini-programmes WeChat, la mise en ?uvre d'effets de retournement de cartes est un effet d'animation courant qui peut améliorer l'expérience utilisateur et l'attractivité des interactions d'interface. Ce qui suit présentera en détail comment implémenter l'effet de retournement de carte dans l'applet WeChat et fournira des exemples de code pertinents. Tout d'abord, vous devez définir deux éléments de carte dans le fichier de mise en page du mini-programme, un pour afficher le contenu avant et un pour afficher le contenu arrière. L'exemple de code spécifique est le suivant?: &lt;!--index.wxml-. -&gt;&l

Alipay a lancé le mini-programme ??Chinese Character Picking-Rare Characters?? pour collecter et compléter la bibliothèque de personnages rares. Alipay a lancé le mini-programme ??Chinese Character Picking-Rare Characters?? pour collecter et compléter la bibliothèque de personnages rares. Oct 31, 2023 pm 09:25 PM

Selon les informations de ce site du 31 octobre, le 27 mai de cette année, Ant Group a annoncé le lancement du ? Projet de sélection de caractères chinois ? et a récemment inauguré de nouveaux progrès : Alipay a lancé le mini-programme ? Sélection de caractères chinois-Caractères rares ?. pour collecter des collections de la société Les personnages rares complètent la bibliothèque de personnages rares et offrent différentes expériences de saisie pour les personnages rares afin d'aider à améliorer la méthode de saisie des caractères rares dans Alipay. Actuellement, les utilisateurs peuvent accéder à l'applet ??Caractères peu communs?? en recherchant des mots-clés tels que ??capture de caractères chinois?? et ??caractères rares??. Dans le mini-programme, les utilisateurs peuvent soumettre des images de caractères rares qui n'ont pas été reconnus et saisis par le système. Après confirmation, les ingénieurs d'Alipay effectueront des entrées supplémentaires dans la bibliothèque de polices. Ce site Web a remarqué que les utilisateurs peuvent également découvrir la dernière méthode de saisie par fractionnement de mots dans le mini-programme. Cette méthode de saisie est con?ue pour les mots rares dont la prononciation n'est pas claire. Démantèlement utilisateur

Les petits programmes peuvent-ils réagir?? Les petits programmes peuvent-ils réagir?? Dec 29, 2022 am 11:06 AM

Les mini-programmes peuvent utiliser React. Comment l'utiliser?: 1. Implémentez un moteur de rendu basé sur "react-reconciler" et générez un DSL?; 2. Créez un mini composant de programme pour analyser et restituer le DSL 3. Installez npm et exécutez le développeur Build?; npm dans l'outil?; 4. Introduisez le package dans votre propre page, puis utilisez l'API pour terminer le développement.

Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Comment Uniapp réalise une conversion rapide entre les mini-programmes et H5 Oct 20, 2023 pm 02:12 PM

La manière dont Uniapp peut réaliser une conversion rapide entre les mini-programmes et le H5 nécessite des exemples de code spécifiques. Ces dernières années, avec le développement de l'Internet mobile et la popularité des smartphones, les mini-programmes et le H5 sont devenus des formulaires de candidature indispensables. En tant que cadre de développement multiplateforme, uniapp peut réaliser rapidement la conversion entre les petits programmes et H5 sur la base d'un ensemble de codes, améliorant considérablement l'efficacité du développement. Cet article présentera comment Uniapp peut réaliser une conversion rapide entre les mini-programmes et H5, et donnera des exemples de code spécifiques. 1. Introduction à uniapp unia

Vous apprendre à utiliser des modèles de messages de compte public dans des mini-programmes (avec des idées détaillées) Vous apprendre à utiliser des modèles de messages de compte public dans des mini-programmes (avec des idées détaillées) Nov 04, 2022 pm 04:53 PM

Cet article vous présente quelques problèmes liés aux mini-programmes WeChat. Il présente principalement comment utiliser les modèles de messages de compte officiel dans les mini-programmes. J'espère que cela sera utile à tout le monde.

Tutoriel sur l'écriture d'un programme de chat simple en Python Tutoriel sur l'écriture d'un programme de chat simple en Python May 08, 2023 pm 06:37 PM

Idée d'implémentation x01 Mise en place du serveur Tout d'abord, c?té serveur, le socket est utilisé pour accepter les messages. Chaque fois qu'une demande de socket est acceptée, un nouveau thread est ouvert pour gérer la distribution et l'acceptation des messages. En même temps, il y a un gestionnaire. pour gérer tous les Threads, réalisant ainsi le traitement des diverses fonctions du salon de discussion. La mise en place du client x02 est beaucoup plus simple que celle du serveur. La fonction du client est uniquement d'envoyer et de recevoir des messages, et de saisir des caractères spécifiques en fonction. règles spécifiques. Pour pouvoir utiliser différentes fonctions, il suffit donc, c?té client, d'utiliser deux threads, l'un est dédié à la réception de messages et l'autre à l'envoi de messages. Quant à pourquoi ne pas en utiliser un, celui-là. c'est parce que, seulement

Positionnement géographique et affichage cartographique à l'aide de PHP et de mini-programmes Positionnement géographique et affichage cartographique à l'aide de PHP et de mini-programmes Jul 04, 2023 pm 04:01 PM

Positionnement par géolocalisation et affichage cartographique de PHP et des mini-programmes Le positionnement par géolocalisation et l'affichage cartographique sont devenus l'une des fonctions nécessaires de la technologie moderne. Avec la popularité des appareils mobiles, la demande des gens en matière de positionnement et d'affichage de cartes augmente également. Au cours du processus de développement, PHP et les applets sont deux choix technologiques courants. Cet article vous présentera la méthode de mise en ?uvre du positionnement géographique et de l'affichage de la carte dans PHP et les mini-programmes, et joindra des exemples de code correspondants. 1. Géolocalisation en PHP En PHP, on peut utiliser la géolocalisation tierce

See all articles