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


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 相关文章推荐
node.js中的querystring.unescape方法使用说明
Dec 10 Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 Javascript
javascript html5移动端轻松实现文件上传
Mar 27 Javascript
第六篇Bootstrap表格样式介绍
Jun 21 Javascript
Vue 短信验证码组件开发详解
Feb 14 Javascript
ES6新特性八:async函数用法实例详解
Apr 21 Javascript
Vue实现导出excel表格功能
Mar 30 Javascript
JS实现二维数组元素的排列组合运算简单示例
Jan 28 Javascript
详解vue中this.$emit()的返回值是什么
Apr 07 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
用vue设计一个日历表
Dec 03 Vue.js
如何利用JavaScript实现二叉搜索树
Apr 02 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
php 求质素(素数) 的实现代码
2011/04/12 PHP
PHP中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
ext for eclipse插件安装方法
2008/04/27 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
Python实现画图软件功能方法详解
2020/07/28 Python
美国时尚在线:Showpo
2017/09/08 全球购物
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
幼儿园教师个人反思
2014/01/30 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
2014年教师节寄语
2014/04/03 职场文书
新书发布会策划方案
2014/06/09 职场文书
应用心理学专业求职信
2014/08/04 职场文书
个人委托书如何写
2014/09/25 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
鸡毛信观后感
2015/06/11 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书