【黄啊码】如何用小程序实现世界杯参赛队伍投票

本次只分享小程序端的代码实现,后端每个人都有自己的实现方法,就不写在此。

好了,先看实现样式:

本次投票实现需要一个页面和一个弹窗实现,我们做的是淘汰赛部分,在此,黄啊码将淘汰赛部分直接选用选择队伍投票方式,比分这块实现方式其实也类似:

 那就先走第一个图吧,wxml如下:

<view  class="contain item"><view wx:for="{{all_list}}" wx:key="index"  wx:for-item="item" style="border-bottom: 1px solid #36a2e6;"><view class="date"><view class="game-type"><text>淘汰赛</text></view><text>2022-12-15</text><view>猜中积分<text style="color: rgb(255, 26, 26);font-weight: bold;">+500}</text></view></view><view class="guess_item"><view class="time"><text space="nbsp">12月15日 03:00半决赛</text></view><view class="country"><view class="country-item"><text space="emsp">法国 </text><image src="{{img_url+item.country_flag1}}" /></view><view class="vs">VS</view><view class="country-item diff"><image src="{{img_url+item.country_flag2}}" /><text space="emsp">摩洛哥</text></view></view><view class="btn_box"><button>参与竞猜</button></view><view class="result"><view class="pre-item"><span>我的预测</span><view><text space="ensp" style="color: #3c3c3c;">---</text></view></view><view class="line"></view><view class="pre-item"><view>未参与竞猜</view></view></view></view></view></view>
</view>

wxss如下: 【对应颜色有做调整,别顾着照抄哦】

.item {margin: 20rpx;border-bottom: 4rpx solid #36a2e6;
}
.contain .item:last-child{border-bottom: 0; overflow: hidden;
}
.item_index{margin-left: 20rpx;font-size: 32rpx;color: #36a2e6;
}
.item .guess_item {width: 100%;height: 410rpx;background-color: #fff;border-radius: 8px;position: relative;
}
.item .date {display: flex;position: relative;justify-content: space-between;height: 130rpx;line-height: 130rpx;font-size: 30rpx;color: #36a2e6;    margin: 0rpx 25rpx;
}
.item .date .game-type {position: absolute;top: -1rpx;left: -26rpx;width: 110rpx;height: 42rpx;line-height: 42rpx;background-color: #36a2e6;text-align: center;border-bottom-right-radius: 22rpx;font-size:24rpx;color: #fff;
}
.item .time {height: 70rpx;line-height: 70rpx;text-align: center;color: rgb(66, 66, 66);font-size: 28rpx;margin-left: 11rpx;
}
.item .guess_item .country{display: flex;margin-top: 16rpx;
}.country-item {width: 40%;height: 48rpx;display: flex;align-items: center;justify-content: flex-end;font-size: 30rpx;
}.diff {justify-content: flex-start;
}
.item .guess_item .country .country-item image {width: 82rpx;height: 100%;
}
.item .guess_item .country .country-item text {color: rgb(46, 46, 46);
}
.item .guess_item .country .vs {width: 20%;text-align: center;height: 48rpx;line-height: 48rpx;color: rgb(255, 26, 26);font-weight: bold;font-size: 32rpx;
}
.item .guess_item .btn_box {display: flex;justify-content: center;height: 130rpx;line-height: 130rpx;align-items: center;
}
.item .guess_item .btn_box .btn {width: 220rpx;height: 58rpx;line-height: 58rpx;text-align: center;background-color: #ffc320;color: #fff;border-radius: 30rpx;font-size: 29rpx;
}
.item .guess_item .btn_box button {width: 220rpx;height: 52rpx;font-weight: unset;
}
.item .guess_item .btn_box text {color:#3c3c3c;font-size: 30rpx;
}
.item .guess_item .result {display: flex;justify-content: space-between;
}.item .guess_item .result .pre-item text {width: 50%;text-align: center;
}
.item .guess_item .result .pre-item {width: 44%;height: 110rpx;display: flex;flex-direction: column;align-items: center;
}
.item .guess_item .result .pre-item span {width: 76%;display: block;height: 52rpx;font-size: 28rpx;color:#36a2e6;text-align: center;line-height: 52rpx;border: 4rpx solid #36a2e6;border-radius: 32rpx;
}
.item .guess_item .result .pre-item view {width: 80%;height: 58rpx;text-align: center;line-height: 82rpx;font-size: 30rpx;color: rgb(255, 26, 26);
}
.line {width: 0;height: 64rpx;border-left:1rpx solid #36a2e6;border-right: 1rpx solid #36a2e6;background-color: #36a2e6;
}
.submit_box {position: fixed;top: 356rpx;left: 50%;transform: translateX(-50%);width: 92%;height: 42%;background-image:linear-gradient(to bottom,#36a2e6,#fff);opacity: 0.92;border-radius: 24rpx;box-shadow: 2rpx 2rpx 16rpx 4rpx #d4d4d4;border: 2rpx solid #36a2e6;
}.submit_box .tip {height: 150rpx;text-align: center;line-height: 150rpx;font-size: 34rpx;color: #fff;
}
.submit_box .score {display: flex;justify-content: center;align-items: center;
}
.submit_box .score input {width: 86rpx;height: 86rpx;background-color: #fff;border-radius: 8rpx;margin: 0 46rpx;font-size: 36rpx;font-weight: bold;color: rgb(0, 0, 0);text-align: center;
}
.submit_box .score view {width: 40rpx;height: 8rpx;background-color: #fff;
}.close {height: 70rpx;display: flex;justify-content: flex-end;
}.close view {width: 76rpx;height: 66rpx;line-height: 64rpx;text-align: center;
}
.icon-guanbi {color: #fff;
}.sub_btn_box {height: 180rpx;display: flex;justify-content: center;align-items: center;
}.sub_btn_box .sub_btn {width: 300rpx;height: 70rpx;line-height: 70rpx;background-color: #ffc320;text-align: center;border-radius: 14rpx;font-size: 34rpx;color: #fff;
}
.end {position: absolute;width:460rpx;height:100rpx;text-align: center;line-height: 100rpx;top: 194rpx;left: 50%;border-radius: 20rpx;transform: translateX(-50%);text-align: center;font-size: 28rpx;color: rgb(255, 26, 26);
}

接下来是弹出窗体的wxml代码和wxss代码

<view class="choose_box">

    <view bindtap="chooseFn" class="left {{is_choose1?'choose_color':''}}" data-id="1">猜TA胜</view>

    <view bindtap="chooseFn" class="{{is_choose2?'choose_color':''}}" data-id="2">平局</view>

    <view bindtap="chooseFn" class="right {{is_choose3?'choose_color':''}}"  data-id="3" >猜TA胜</view>

  </view>

.choose_box {

  display: flex;

  justify-content: center;

}

.choose_box view {

  width: 178rpx;

  height: 74rpx;

  line-height: 74rpx;

  background-color: #fff;

  margin: 0 1rpx;

  text-align: center;

  border:2rpx solid #36a2e6;

  color: #36a2e6;

}

.choose_box .choose_color {

  background-color: #36a2e6;

  color: #fff;

}

.choose_box .left{

 border-top-left-radius: 22rpx;

 border-bottom-left-radius: 22rpx;

}

.choose_box .right{

  border-top-right-radius: 22rpx;

  border-bottom-right-radius: 22rpx;

}

最后实现的时候别忘了把点击事件加上

这里的dataset.id表示的是你选中的国家id,我在上边代码就直接省略了,毕竟每个认对于变量的命名都有所不同。

chooseFn(e) {if(e.currentTarget.dataset.id=="1") {this.setData({is_choose1:true,is_choose2:false,is_choose3:false,})}else if(e.currentTarget.dataset.id=="2") {this.setData({  is_choose1:false,is_choose2:true,is_choose3:false,})}else if(e.currentTarget.dataset.id=="3") {this.setData({  is_choose1:false,is_choose2:false,is_choose3:true,})}},

至于如何弹窗和关闭事件这个部分,我相信大多数只要入门过小程序的都知道,我就不一一阐述了,如果再不懂直接扣我也行。

好了,今天的分享就这里,有问题的留个言,别忘了一键三连,下次我们还会再见!

我是黄啊码,码字的码,退。。。退。。。退。。。朝! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/50262.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华人AI女神:从洗碗工到谷歌首席科学家,她是如何逆袭的?

来源 | 北美留学生观察 ID | collegedaily “如果获得诺贝尔奖&#xff0c;我希望是以中国人的身份去领奖。” 提到人工智能&#xff0c;我们首先想到前段时间大火的ChatGPT&#xff0c;其实早在2009年&#xff0c;一位华裔女孩已经钻研起了人工智能&#xff0c;而当时在当时…

大模型时代的“Linux”生态,开启人工智能新十年

演讲 | 林咏华 智源人工智能研究院副院长 整理 | 何苗 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 2018 年以来&#xff0c;超大规模预训练模型的出现推动了 AI 科研范式从面向特定应用场景、训练专有模型&#xff0c;转变为大模型微调模型服务的AI工业化…

巴比特 | 元宇宙每日必读:关闭寄售市场,承诺的“元宇宙”不见踪迹,数字藏品平台iBox被指涉嫌诈骗,多地警方已立案...

摘要&#xff1a;据澎湃新闻报道&#xff0c;4月12日&#xff0c;多名iBox用户向澎湃质量观投诉平台反映&#xff0c;他们在海南链盒科技旗下iBox平台购买数字藏品时被诈骗。针对多名用户报案称被链盒科技诈骗&#xff0c;4月13日&#xff0c;海南省澄迈县公安局正式受理该案。…

外国小哥用 ChatGPT 完成 80% 工作,同时打 4 份工,笑疯。。

点击上方“Java基基”&#xff0c;选择“设为星标” 做积极的人&#xff0c;而不是积极废人&#xff01; 每天 14:00 更新文章&#xff0c;每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

【设计欣赏】新颖包装设计欣赏

本组是16组设计新颖的包装设计&#xff0c;各具特色&#xff0c;请欣赏。

怎样设计食品包装袋,才能够吸引用户?-东莞吉祥包装

一般咱们去购买食物的时候&#xff0c;首要映入咱们眼帘的是食物的外包装袋子&#xff0c;因而一款食物能不能够卖的好&#xff0c;有很大的一部分原因取决于食物包装袋的好坏&#xff0c;有些产品即便自身的颜色可能不是那么的招引人&#xff0c;可是经过各种办法加以渲染&…

vi设计中产品与包装类设计

vi设计中产品与包装类设计 编辑&#xff1a;AGO(安可)品牌顾问 企业应该注重塑造产品外观式样的独特个性&#xff0c;从而以鲜明的设计吸引消费者。在将北京vi设计的基本要素应用于产品外观设计中时&#xff0c;还应注意vi中的各种要素应与产品特点相结合&#xff0c;与企业整体…

【产品】平面设计之产品包装排版设计

1、产品包装设计分类 1&#xff09;设计升级 原来包装设计太丑&#xff0c;需要优化视觉形象&#xff1b; 企业战略性调整&#xff0c;原来的设计不符合全新定位导致的重新设计。 2&#xff09;原创包装设计 根据产品属性、定位&#xff0c;设想突破性的设计创意&#xff…

插画是什么?插画和原画有什么区别 插画知识科普

插画&#xff0c;又称插图&#xff0c;是用手绘、鼠标和计算机绘制的插图。 现代插画有多种形式&#xff0c;可以按媒介或功能分类。按媒体分类&#xff0c;基本分为两部分&#xff0c;即平面媒体和影视媒体。 印刷媒体包括海报广告插画、报纸插画、杂志和书籍插画、产品包装插…

倍投技巧 - 凯利公式教你如何用正确的方法投资

凯利公式志在解决的问题 假设赌局1:你赢的概率是60%&#xff0c;输的概率是40%。赢时的净收益率是100%&#xff0c;输时的亏损率也是100%。也即&#xff0c;如果赢&#xff0c;那么你每赌1元可以赢得1元&#xff0c;如果输&#xff0c;则每赌1元将会输掉1元。赌局可以进行无限…

记忆法万能公式

1、[中文转换与联接] (中文一图像联接) (1) 能出图的具象词直接出图&#xff0c;具象词就是生活中我们能够看得见摸得着的物体 (2) 不能出图的抽象词转化出图&#xff0c;抽象词就是我们看不见摸不着的名词 2、[数字的转换与联接] (1) “谐音法”&#xff0c;举例: 13-医生&…

通达信公式编写初中高级全套教程(附:通达信全部函数表)

通达信公式编写初中高级全套教程(附:通达信全部函数表) 公式系统(初级) 公式系统(中级) 公式系统(高级) 附录:全部指标函数表 中高级在后面 1.公式类型说明 调出公式管理器: 功能专家系统公式管理器 公式类型分为四大类:技术指标公式、条件选股公式、交易系统公式、五彩…

怎样利用通达信公式选股?

一、首先通过公式管理器建好公式&#xff0c;打开公式管理器&#xff0c;如图&#xff1a; 安装通达信软件 通达信软件下载和了解通达信可以点击这个链接&#xff1a; http://www.6073168.com/shoujigupiaoruanjian/55.html 里面集成了通达信的官网地址&#xff0c;下载链接…

万能Markdown数学公式

文章目录 万能Markdown数学公式1、首先设置&#xff08;windows&#xff09;&#xff1a;2、markdown格式3、上下标4、分式与根号5、累加与累乘6、括号7、省略号8、矢量9、积分10、极限运算11、常用希腊字母12、方程组13、矩阵14、常用符号 万能Markdown数学公式 1、首先设置&…

通达信指标公式编写常用函数(三)——HHVBARS、LLVBARS

内容提要&#xff1a;本文主要介绍了HHVBARS函数、LLVBARS函数、函数的应用举例以及函数的综合运用。 HHVBARS这个函数名由HHV和BARS两部分组成&#xff0c;HHV是最高值&#xff0c;BARS是英文&#xff0c;翻译成中文就是K线的意思。从这个函数名就能看出来&#xff0c;HHVBARS…

电脑(win10)连接小爱同学音箱

一共三步操作就OK 1.左下角搜索蓝牙-->选择蓝牙和其他设置 2.打开APP小米AI-->点击个人中心-->选择蓝牙设置开启蓝牙(不要退出) 3.右键桌面右下角的声音图标 -->打开声音设置-->接着看下图 找到小爱 右键点击连接即可

【语音控制】0成本实现小爱远程开关电脑

背景&#xff1a;之前使用HACS/网页版实现了电脑网络唤醒&#xff0c;但不能关机&#xff0c;不支持小爱 问题&#xff1a;不能语音关机&#xff0c;不支持小爱 环境&#xff1a;支持WOL的主板电脑&#xff0c;python 3.X环境(我这里用了群晖) 解法&#xff1a;1.使用小爱添加第…

小爱同学调用系统接口,语音下发任务

需求很简单,就是语音对话小爱,调用系统接口,达到下发任务的目的 1.立即开发 2.开始创建技能 3.点击自定义技能 4.技能名称随便定义,面向设备,这边的需求是小爱音响 5.设置调用名称,上传图标,必填项都填满就行了 6.添加意图,3个系统意图一定要添加,不然莫名其妙的错误,添加一个…

解读:【小爱同学】智能问答系统

重磅推荐专栏&#xff1a; 《Transformers自然语言处理系列教程》 手把手带你深入实践Transformers&#xff0c;轻松构建属于自己的NLP智能应用&#xff01; 1. 基于检索匹配的问答 1.1 FAQ问答框架 1.2 检索 检索召回分为以下三种方式&#xff1a; term检索实体检索语义检索…

ESP32接入小爱同学,实现语音控制

准备工作 安装手机app 米家app小米音箱或小爱同学app点灯科技app&#xff0c;app下载链接&#xff1a;https://diandeng.tech/dev 开发环境搭建 Arduino IDE需安装好esp32扩展Arduino IDE 1.8.7或更新版本务必使用 2.0.0 或以上release版本的 ESP32 Arduino package Arduin…