微信小程序实现时间进度条功能


Posted in Javascript onNovember 17, 2020

关于答题类,或者一些游戏环节的小程序需要用到时间进度条,该功能怎么实现?看下面源码

<view class='out' style='margin-top:10px'>
 <view class='in' style='width:{{progressWidth}}%'></view>
</view>
<view class='caozuo'>
 <text>{{progressTime}}秒</text>
 <text bindtap='playbtn' data-change='1'>{{playPausetips}}</text>
</view>

CSS:

.out {margin-left:auto;margin-right:auto;width:250px;height:20px;border:1px solid red;border-radius:20px;overflow:hidden;}
.in {height:100%;background-color:red;}
.caozuo{font-size:14px;color:#333;margin-left:auto;margin-right:auto;width:250px;margin-top:10px;display: flex;justify-content:space-between}

JS:

Page({
 data: {
 progressWidth:0,
 progressTime:60,
 mark:true,
 playPausetips:"开始"
 },
 playbtn() {
 let that = this;
 let mark = that.data.mark;
 if (mark){
  that.timer = setInterval(that.run, 1000); //that.timer关键点
  wx.showToast({
  title: '开始',
  })
  that.setData({
  mark:false,
  playPausetips:"暂停"
  })
 }else{
  clearInterval(that.timer);
  wx.showToast({
  title: '暂停',
  })
  that.setData({
  mark: true,
  playPausetips: "开始"
  })
 }
 },
 run(){
 let that = this;
 let totalProgressTime = 60 //秒
 let progressWidth = that.data.progressWidth; //显示进度
 let progressTime = that.data.progressTime; //时间
 
 if (progressWidth === 100) {
  wx.showToast({
  title: '结束回调处理',
  })
  clearInterval(that.timer);
  that.setData({
  progressTime: totalProgressTime, //进度条需要总时间s
  progressWidth: 100, //进度100%
  progressTime: 60
  })
  return;
 }
 progressTime--;
 progressWidth = (totalProgressTime - progressTime) * (100 / 60)
 that.setData({
  progressWidth: progressWidth,
  progressTime: progressTime
 })
 }
 
})

微信小程序实现时间进度条功能

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
HTML TO JavaScript 转换
Jun 26 Javascript
给网站上的广告“加速”显示的方法
Apr 08 Javascript
ajax的hide隐藏问题解决方法
Dec 11 Javascript
点击button获取text内容并改变样式的js实现
Sep 09 Javascript
js解决select下拉选不中问题
Oct 14 Javascript
jquery.validate提示错误信息位置方法
Jan 22 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
Sep 24 Javascript
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
vue+element-ui实现表格编辑的三种实现方式
Oct 31 Javascript
vue项目移动端实现ip输入框问题
Mar 19 Javascript
JavaScript实现页面中录音功能的方法
Jun 04 Javascript
小程序实现投票进度条
Nov 20 #Javascript
javascript跳转与返回和刷新页面的实例代码
Nov 20 #Javascript
vant IndexBar实现的城市列表的示例代码
Nov 20 #Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 #Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 #Javascript
vue3.0中使用postcss-pxtorem的具体方法
Nov 20 #Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 #Javascript
You might like
php empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
PHP速成大法
2015/01/30 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
php支付宝APP支付功能
2020/07/29 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
python中Genarator函数用法分析
2015/04/08 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
美国汽车交易网站:Edmunds
2016/08/17 全球购物
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
大学学习生活感言
2014/01/18 职场文书
事业单位辞职信范文
2014/01/19 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
收费员岗位职责
2015/02/14 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
寻找成龙观后感
2015/06/12 职场文书
健康教育主题班会
2015/08/14 职场文书
尊师重教主题班会
2015/08/14 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server