Comment implémenter un menu flottant déroulant secondaire dans vue.js
Méthode Vue.js pour implémenter un menu flottant déroulant secondaire : 1. Compléter l'effet d'un nouveau div apparaissant lorsque la souris est survolée ; 2. Réaliser que le div des informations personnelles ne disparaît pas lorsque la souris passe l'avatar personnel au div des informations personnelles ; 3. Ajoutez une variable centrale, vous pouvez utiliser cette variable pour porter des jugements dans la méthode cl_person_info().
L'environnement d'exploitation de cet article : système windows10, vue 2.5.2, ordinateur thinkpad t480.
Dans les projets de développement réels, nous devrons peut-être implémenter des fonctions similaires aux menus secondaires. Si nous voulons être paresseux, nous pouvons alors utiliser directement le framework Element UI existant. Cependant, cette méthode présente un gros inconvénient. Ce n'est qu'en comprenant la signification de chaque code que nous pouvons modifier le code pour obtenir l'effet dynamique souhaité, nous ne recommandons donc pas cette méthode.
Certains amis peuvent demander : n'existe-t-il pas jQuery ? Oui, jQuery peut également être implémenté, mais si vous utilisez jQuery pour l'implémenter, vous devez exploiter directement le DOM, et le code est plus compliqué.
Alors quelle méthode devrions-nous utiliser ? Pourquoi ne pas utiliser v-bind ? Faites-le, jetons un oeil !
Complétez d'abord l'effet d'un nouveau div apparaissant au survol de la souris
Une partie du code html est la suivante :
<template> <div class="person_img" > <img id="person_img" :src="img_url" @mouseover="person_info()" @mouseout="cl_person_info()"/> </div> <div v-show="person_con" class="hidden_div" > <div>{{userid}}</div> <div>个人设置</div> <div>账户中心</div> <div>退出登录</div> </div> </template> //@mouseover、@mouseout和 v-show="person_con" 用来控制悬浮出现和消失的效果
Une partie du code js est la suivante :
<script> name:'', data(){ return{ placeholder:'搜索课程', token:'',//判断是否登录的参数,在加载主页时直接判断 person_con:false, userid:'', } }, methods:{ person_info(){ this.person_con = true; }, cl_person_info(){ this.person_con = false; }, } </script>
C'est très simple, pour que lorsque la souris passe sur l'avatar personnel (person_img), les informations personnelles person_con apparaîtront comme suit.
Voici la clé : comment empêcher la div des informations personnelles de disparaître lorsque la souris passe sur l'avatar personnel vers la div des informations personnelles, afin que davantage d'opérations commerciales puissent être effectuées ?
L'idée naturelle est d'ajouter @mouseover et @mouseout à person_con.
Alors sachez que le div des informations personnelles ne disparaît pas lorsque la souris passe sur l'avatar personnel vers le div des informations personnelles
Une partie du code html est la suivante :
<template> <div class="person_img" > <img id="person_img" :src="img_url" @mouseover="person_info()" @mouseout="cl_person_info()"/> </div> //新增@mouseover和@mouseout <div v-show="person_con" class="hidden_div" @mouseover="person_infoContinue()" @mouseout="cl_person_infoContinue()" > <div>{{userid}}</div> <div>个人设置</div> <div>账户中心</div> <div>退出登录</div> </div> </template>
Une partie du code js est la suivante :
<script> name:'', data(){ return{ placeholder:'搜索课程', token:'',//判断是否登录的参数,在加载主页时直接判断 person_con:false, userid:'', } }, methods:{ person_info(){ this.person_con = true; }, cl_person_info(){ this.person_con = false; }, person_infoContinue(){ this.person_con = true; }, cl_person_infoContinue(){ this.person_con = false; }, } </script>
À ce stade, la fonction complète ne peut pas être réalisée car le code n'est pas encore parfait. Pourquoi? Parce que lorsque la souris est déplacée hors de l'avatar personnel, person_con redevient faux, ce qui fait que person_infoContinue() et cl_person_infoContinue() n'ont aucun effet. Alors que devons-nous faire ? L'idée naturelle est d'ajouter une autre variable intermédiaire. Dans la méthode cl_person_info(), j'utilise cette variable pour porter des jugements.
Une partie du code js est la suivante :
<script> name:'', data(){ return{ placeholder:'搜索课程', token:'',//判断是否登录的参数,在加载主页时直接判断 person_con:false, isperson_infoContinue:false,//增加 userid:'', } }, methods:{ //不变 person_info(){ this.person_con = true; }, //增加判断 cl_person_info(){ if(this.isperson_infoContinue = true){ this.person_con = true; }else{ this.person_con = false; } }, //鼠标进入到新的div时让中间变量为true person_infoContinue(){ this.person_con = true; this.isperson_infoContinue = true; }, cl_person_infoContinue(){ this.isperson_infoContinue = false; this.person_con = false; }, } </script>
À ce stade, la fonction de flottement du menu secondaire est complétée en utilisant une logique simple pour déterminer vrai et faux.
Apprentissage recommandé : Formation php
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Lorsque nous utilisons le framework Vue pour développer des projets front-end, nous déploierons plusieurs environnements lors du déploiement. Souvent, les noms de domaine d'interface appelés par les environnements de développement, de test et en ligne sont différents. Comment peut-on faire la distinction ? Cela utilise des variables et des modèles d'environnement.

Ace est un éditeur de code intégrable écrit en JavaScript. Il correspond aux fonctionnalités et aux performances des éditeurs natifs comme Sublime, Vim et TextMate. Il peut être facilement intégré à n’importe quelle page Web et application JavaScript. Ace est maintenu en tant qu'éditeur principal de l'IDE Cloud9 et est le successeur du projet Mozilla Skywriter (Bespin).

La différence entre la modularisation et la modularisation : la modularisation est divisée du point de vue de la logique du code ; elle facilite le développement en couches de code et garantit la cohérence des fonctions de chaque module fonctionnel. La composantisation est planifiée du point de vue de l'interface utilisateur ; la composantisation du frontal facilite la réutilisation des composants de l'interface utilisateur.

Vue.js est devenu aujourd'hui un framework très populaire dans le développement front-end. À mesure que Vue.js continue d'évoluer, les tests unitaires deviennent de plus en plus importants. Aujourd'hui, nous allons explorer comment écrire des tests unitaires dans Vue.js 3 et fournir quelques bonnes pratiques ainsi que des problèmes et solutions courants.

Avant-propos : Dans le développement de vue3, réactif fournit une méthode pour implémenter des données réactives. Il s'agit d'une API fréquemment utilisée dans le développement quotidien. Dans cet article, l’auteur explorera son mécanisme de fonctionnement interne.

Dans Vue.js, les développeurs peuvent utiliser deux syntaxes différentes pour créer des interfaces utilisateur : la syntaxe JSX et la syntaxe des modèles. Les deux syntaxes ont leurs propres avantages et inconvénients. Discutons de leurs différences, avantages et inconvénients.

Comment gérer les exceptions dans les composants dynamiques Vue3 ? L'article suivant parlera des méthodes de gestion des exceptions des composants dynamiques Vue3. J'espère qu'il sera utile à tout le monde !

Dans le processus de développement réel du projet, il est parfois nécessaire de télécharger des fichiers relativement volumineux, puis le téléchargement sera relativement lent, de sorte que l'arrière-plan peut nécessiter que le front-end télécharge des tranches de fichiers. Par exemple, 1 A. Le flux de fichiers de gigaoctets est découpé en plusieurs petits flux de fichiers, puis l'interface est invitée à fournir respectivement les petits flux de fichiers.
