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


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 相关文章推荐
javascript操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
javascript 动态修改样式和层叠样式表代码
Apr 27 Javascript
jquery实现效果比较好的table选中行颜色
Mar 25 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
Apr 16 Javascript
javascript正则表达式基础知识入门
Apr 20 Javascript
js原生实现移动端手指滑动轮播图效果的示例
Jan 02 Javascript
vue页面切换到滚动页面显示顶部的实例
Mar 13 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
Dec 05 Javascript
vue中$nextTick的用法讲解
Jan 17 Javascript
为vue项目自动设置请求状态的配置方法
Jun 09 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
原理深度解析Vue的响应式更新比React快
Apr 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP Cookie学习笔记
2016/08/23 PHP
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
vue实现页面加载动画效果
2017/09/19 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
Python生成验证码实例
2014/08/21 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
python ftplib模块使用代码实例
2019/12/31 Python
pytorch forward两个参数实例
2020/01/17 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
如何在python中执行另一个py文件
2020/04/30 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
生物化工工艺专业应届生求职信
2013/10/08 职场文书
幼儿园园长自我鉴定
2013/10/22 职场文书
中专生自我鉴定
2013/12/17 职场文书
保险专业自荐信范文
2014/02/20 职场文书
党员公开承诺事项
2014/03/25 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
团日活动总结格式
2015/05/11 职场文书
中秋晚会致辞
2015/07/31 职场文书
终止合同协议书范本
2016/03/22 职场文书
2019年销售人员的职业生涯规划书
2019/03/25 职场文书