欢迎光临
我们一直在努力

小程序条形倒计时动画怎么实现

今天小编给大家分享一下小程序条形倒计时动画怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一、效果图如下:

二、wxml

<view class='headpiece-time flex-row'><text class='headpiece-txt'>倒计时:</text><view class='headpiece-process'><view class='headpiece-process-inner' style="width:{{width}}%"></view></view><text class='headpiece-num'>{{t}}</text></view>

三、wxss

headpiece-num {position: absolute;top: -3rpx;right: -35rpx;width: 62rpx;height: 100%;text-align: center;} .headpiece-time {position: relative;width: 305rpx;} .headpiece-process {position: relative;width: 138rpx;height: 14rpx;margin-right: 14rpx;border: 4rpx solid #000;overflow: hidden;background: #fff4b2;} .headpiece-process-inner {position: absolute;top: 0rpx;left: 0rpx;background: #f74242;height: 100%;transition: all 0.3s ease-out;}.

四、index.js

  1. /**

  2. * 获取系统信息

  3. */

  4. getSystemInfo: function () {

  5. return new Promise((a, b) => {

  6. wx.getSystemInfo({

  7. success: function (res) {

  8. a(res)

  9. },

  10. fail: function (res) {

  11. b(res)

  12. }

  13. })

  14. })

  15. },

  16. /**

  17. * 进度条动画

  18. */

  19. countdown: function () {

  20. const requestAnimationFrame = callback => {

  21. return setTimeout(callback, 1000 / 60);

  22. }, cancelAnimationFrame = id => {

  23. clearTimeout(id);

  24. };

  25.  

  26. this.getSystemInfo().then(v => {

  27. let maxtime = this.data.maxtime,

  28. width = this.data.width,

  29. sTime = +new Date,

  30. _ts = this,

  31. temp,

  32. animate;

  33. (animate = () => {

  34. temp = requestAnimationFrame(() => {

  35. let time = maxtime * 1000,

  36. currentTime = +new Date,

  37. schedule = 1 - (currentTime - sTime) / time,

  38. schedule_1 = schedule <= 0 ? 0 : schedule,

  39. width = parseInt(schedule_1 * 100),

  40. t = parseInt((this.data.maxtime) * schedule_1)+1;

  41. _ts.setData({

  42. width: width,

  43. t:t

  44. });

  45. if (schedule <= 0) {

  46. cancelAnimationFrame(temp);

  47. _ts.setData({

  48. width: width,

  49. t: 0

  50. });

  51. return;

  52. } else {

  53. animate();

  54. };

  55. })

  56. })();

  57.  

  58. });

  59. },


以上就是“小程序条形倒计时动画怎么实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注云搜网行业资讯频道。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。