Vuejs peut-il créer une platine vinyle ?
vuejs peut créer un plateau tournant, et la méthode de mise en œuvre est la suivante : 1. Créez un bouton de loterie ; 2. Obtenez la position où le plateau tournant doit s'arrêter ; 3. Interagissez avec l'arrière-plan 4. Arrêtez-vous à l'endroit défini à l'étape 2 ; l'animation se termine ; 5. Définir des invites. Gagner des prix débloque des fonctionnalités.
L'environnement d'exploitation de cet article : système Windows 7, Vue version 2.9.6, ordinateur Dell G3.
Les vuejs peuvent-ils fabriquer des platines ?
Composant de carrousel de loterie circulaire configurable dans Vue
1 Analyse de l'ensemble du processus de loterie :
- Cliquez sur le pointeur au milieu du carrousel (c'est-à-dire le bouton de démarrage de la loterie) pour déterminer s'il peut être tourné (la logique spécifique). est encapsulé dans In
canBeRotated()
- ① Si le nombre actuel de tirages est supérieur à 0 ② S'il est actuellement en rotation (verrouillé)), s'il est réussi, passez à l'étape suivante, sinon une invite correspondante apparaîtra. - 获取转盘应该停止的位置,应该与后台交互,但这里仅作演示用途, 本地随机抽取0~5。
- 与后台交互成功获取到该停止的位置后,锁定转盘且减少抽奖次数。
- 告诉转盘组件,开始转动了,并且动画结束后停在步骤2设置的地方。
- 转盘转动,停在步骤3设置的地方后再提示中奖,解锁。
canBeRotated()
里--①当前拥有的抽奖次数是否大于0②现在是否正在转动着(被锁着)),判断通过则进行下一步, 否则弹出相应提示。二、圆形抽奖转盘组件需要做的事情
- 可以自定义每一格转盘的背景颜色,外边框的颜色。(
turntableStyleOption
属性) - 转盘的大小与位置。(在调用时,给组件加个class,代码里为
turntable
) - 自定义这个转盘运转起来要转过的圈数。(
rotateCircle
属性) - 可以自定义运转动画的时长。(
duringTime
属性) - 通过接收到父组件传递过来的奖品信息(
prizeData
),显示在每一格转盘的位置。(计算要根据圆心旋转的角度getRotateAngle()
方法) - 被父组件调用后就开始转动,并在指定位置停下的方法(
rotate
),结束动画后告诉父组件已停下。 - 奖品的名称和图片可以自定义样式。
三、页面预览
四、基础用法
- 引用
import roundTurntable from './components/roundTurntable';
- 声明
components: { roundTurntable },
- 调用
<round-turntable> <template> <p>{{ scope.item.prizeName }}</p> <p> <img src="/static/imghw/default1.png" data-src="scope.item.prizeImg" class="lazy" alt="Vuejs peut-il créer une platine vinyle ?" > </p> </template> </round-turntable>
data() { return { // 转盘上的奖品数据 prizeData: [ { id: 1, prizeName: '2000元京东券', prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/1.png', }, { id: 2, prizeName: '300元京东券', prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/7.png', }, { id: 3, prizeName: '50个比特币', prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/3.png', }, { id: 4, prizeName: '50元话费券', prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/4.png', }, { id: 5, prizeName: '100元话费券', prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/5.png', }, { id: 6, prizeName: '100个比特币', prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/6.png', } ], // 转动的圈数 rotateCircle: 6, // 转动需要持续的时间(s) duringTime: 4.5, // 转盘样式的选项 turntableStyleOption: { // 背景色 prizeBgColors: ['#AE3EFF', '#4D3FFF', '#FC262C', '#3A8BFF', '#EE7602', '#FE339F'], // 转盘的外边框颜色 borderColor: '#199301', }, } }, methods: { // 已经转动完转盘触发的函数 endRotation() { // 提示中奖 alert(`恭喜您获奖啦,您的奖品是:${this.prizeData[this.prizeIndex].prizeName}`); }, },
.turntable { position: absolute; left: calc(50% - 200px); top: calc(50% - 200px); width: 400px; height: 400px; } .turntable-name { /*background: pink;*/ position: absolute; left: 10px; top: 20px; width: calc(100% - 20px); font-size: 26px; text-align: center; color: #fff; } .turntable-img { position: absolute; /*要居中就要50% - 宽度 / 2*/ left: calc(50% - 80px / 2); top: 60px; width: 80px; height: 80px; img { display: inline-block; width: 100%; height: 100%; } }
五、roundTurntable组件的属性说明
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
ref | 获取这组件的dom节点,调用子组件的开始转动动画方法要用到this.$refs[refName].rotate(index)
|
string | — |
prizeData | 显示在转盘上的奖品数据 | array | — |
rotateCircle | 转盘要转过的圈数 | number | 6 |
duringTime | 转动需要持续的时间(单位为秒s ) |
number | 4.5 |
turntableStyleOption | 转盘的样式选项(背景色、外边框颜色) | object |
{ prizeBgColors: ['#AE3EFF', '#4D3FFF', '#FC262C', '#3A8BFF', '#EE7602', '#FE339F'], borderColor: '#199301' } Obtenez la position où le plateau tournant doit s'arrêter et il doit interagir avec l'arrière-plan, mais ce n'est qu'à des fins de démonstration, et 0 ~ 5 est sélectionné au hasard localement. | Après avoir interagi avec succès avec l'arrière-plan pour obtenir la position d'arrêt, verrouillez le plateau tournant et réduisez le nombre de tirages.
2. Que faut-il faire pour le composant de la roue de loterie circulaire | Vous pouvez personnaliser la couleur d'arrière-plan et la couleur de la bordure extérieure de chaque roue. ( | La taille et la position du plateau tournant. (Lors de l'appel, ajoutez une classe au composant, qui est plateau dans le code) | Personnalisez le nombre de tours que le plateau tournant doit effectuer lorsqu'il fonctionne. (attribut Vous pouvez personnaliser la durée de l'animation en cours d'exécution. (attribut duringTime ) | En recevant les informations sur le prix (
Citationrrreee | Déclaration li> li>rrreeeAppelrrreeerrreeerrreee | 5. Description de l'attribut du composant roundTurntable|
---|---|---|
Description | Type | Valeur par défaut |
this.$refs[refName].rotate(index)
string—🎜🎜🎜🎜prizeData🎜🎜Données de prix affichées sur la roue🎜🎜array🎜🎜—🎜🎜🎜🎜rotateCircle🎜🎜Le nombre de tours dont la roue doit tourner🎜🎜number🎜 🎜
6
🎜 🎜🎜🎜duringTime🎜🎜La durée de rotation (en secondes s
) 🎜🎜number🎜🎜4.5
🎜🎜🎜🎜turntableStyleOption🎜🎜Option de style pour le plateau tournant (couleur de fond, couleur de la bordure extérieure)🎜🎜object🎜🎜{ prizeBgColors : ['#AE3EFF', '#4D3FFF', '#FC262C', '#3A8BFF', '#EE7602', '#FE339F '], borderColor ) Nom🎜🎜Description🎜🎜Paramètres de rappel🎜🎜🎜🎜🎜🎜endRotation🎜🎜Rappel d'événement déclenché après l'arrêt de la platine🎜🎜—🎜🎜🎜🎜🎜 7. Code complet du projet🎜🎜https://git moyeu. com/LiaPig/ Les images de prix et les images de pointeurs utilisées par vue-round-turntable🎜🎜 proviennent de : 🎜🎜http://sc.chinaz.com/jiaobendemo.aspx?downloadid=12018113053246🎜
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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

Quelques conseils pour développer des applications Android en utilisant Vue.js et le langage Kotlin Avec la popularité des applications mobiles et la croissance continue des besoins des utilisateurs, le développement d'applications Android attire de plus en plus l'attention des développeurs. Lors du développement d’applications Android, il est crucial de choisir la bonne pile technologique. Ces dernières années, les langages Vue.js et Kotlin sont progressivement devenus des choix populaires pour le développement d'applications Android. Cet article présentera quelques techniques de développement d'applications Android à l'aide du langage Vue.js et Kotlin, et donnera des exemples de code correspondants. 1. Configurer l'environnement de développement au début

Quelques conseils pour développer des applications de visualisation de données à l'aide de Vue.js et Python Introduction : Avec l'avènement de l'ère du big data, la visualisation de données est devenue une solution importante. Dans le développement d'applications de visualisation de données, la combinaison de Vue.js et Python peut offrir de la flexibilité et des fonctions puissantes. Cet article partagera quelques conseils pour développer des applications de visualisation de données à l'aide de Vue.js et Python, et joindra des exemples de code correspondants. 1. Introduction à Vue.js Vue.js est un JavaScript léger

Intégration du langage Vue.js et Objective-C, conseils et suggestions pour développer des applications Mac fiables Ces dernières années, avec la popularité de Vue.js dans le développement front-end et la stabilité d'Objective-C dans le développement d'applications Mac, les développeurs commencent. essayer de combiner les deux pour développer des applications Mac plus fiables et plus efficaces. Cet article présentera quelques conseils et suggestions pour aider les développeurs à intégrer correctement Vue.js et Objective-C et à développer des applications Mac de haute qualité. un

L'intégration des langages Vue.js et Lua, les meilleures pratiques et le partage d'expériences pour la construction d'un moteur frontal pour le développement de jeux Introduction : Avec le développement continu du développement de jeux, le choix du moteur frontal de jeu est devenu une décision importante. Parmi ces choix, le framework Vue.js et le langage Lua sont devenus le focus de nombreux développeurs. En tant que framework frontal populaire, Vue.js dispose d'un écosystème riche et de méthodes de développement pratiques, tandis que le langage Lua est largement utilisé dans le développement de jeux en raison de ses performances légères et efficaces. Cet article explorera comment

Comment utiliser PHP et Vue.js pour implémenter des fonctions de filtrage et de tri des données sur des graphiques. Dans le développement Web, les graphiques sont un moyen très courant d'afficher des données. À l'aide de PHP et Vue.js, vous pouvez facilement implémenter des fonctions de filtrage et de tri des données sur les graphiques, permettant aux utilisateurs de personnaliser l'affichage des données sur les graphiques, améliorant ainsi la visualisation des données et l'expérience utilisateur. Tout d’abord, nous devons préparer un ensemble de données que le graphique pourra utiliser. Supposons que nous ayons un tableau de données contenant trois colonnes : nom, âge et notes. Les données sont les suivantes : nom, âge, note, Zhang San, 1890 Li.

Intégration du langage Vue.js et Dart, pratique et compétences en développement pour créer des interfaces utilisateur d'applications mobiles sympas Introduction : Dans le développement d'applications mobiles, la conception et la mise en œuvre de l'interface utilisateur (UI) sont une partie très importante. Afin d'obtenir une interface d'application mobile intéressante, nous pouvons intégrer Vue.js au langage Dart et utiliser les puissantes fonctionnalités de liaison de données et de composants de Vue.js ainsi que la riche bibliothèque de développement d'applications mobiles du langage Dart pour créer une application mobile époustouflante. Interface utilisateur. Cet article vous montrera comment

Utilisez les langages Vue.js et Perl pour développer des robots d'exploration Web et des outils de récupération de données efficaces. Ces dernières années, avec le développement rapide d'Internet et l'importance croissante des données, la demande de robots d'exploration Web et d'outils de récupération de données a également augmenté. Dans ce contexte, c'est un bon choix de combiner le langage Vue.js et Perl pour développer des robots d'exploration Web et des outils de scraping de données efficaces. Cet article expliquera comment développer un tel outil à l'aide du langage Vue.js et Perl, et joindra des exemples de code correspondants. 1. Introduction au langage Vue.js et Perl

Comment utiliser Vue pour implémenter des effets de bulle de discussion de type QQ À l'ère sociale d'aujourd'hui, la fonction de discussion est devenue l'une des fonctions essentielles des applications mobiles et des applications Web. L'un des éléments les plus courants de l'interface de chat est la bulle de discussion, qui permet de distinguer clairement les messages de l'expéditeur et du destinataire, améliorant ainsi efficacement la lisibilité du message. Cet article expliquera comment utiliser Vue pour implémenter des effets de bulle de discussion de type QQ et fournira des exemples de code spécifiques. Tout d'abord, nous devons créer un composant Vue pour représenter la bulle de discussion. Le composant se compose de deux parties principales
