欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 小程序条形倒计时动画

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:501

小程序条形倒计时动画

发布时间:2020-10-24  
一、效果图如下:

 

二、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

 

/**

* 获取系统信息

*/

getSystemInfo: function () {

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

wx.getSystemInfo({

success: function (res) {

a(res)

},

fail: function (res) {

b(res)

}

})

})

},

/**

* 进度条动画

*/

countdown: function () {

const requestAnimationFrame = callback => {

return setTimeout(callback, 1000 / 60);

}, cancelAnimationFrame = id => {

clearTimeout(id);

};

 

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

let maxtime = this.data.maxtime,

width = this.data.width,

sTime = +new Date,

_ts = this,

temp,

animate;

(animate = () => {

temp = requestAnimationFrame(() => {

let time = maxtime * 1000,

currentTime = +new Date,

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

schedule_1 = schedule <= 0 ? 0 : schedule,

width = parseInt(schedule_1 * 100),

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

_ts.setData({

width: width,

t:t

});

if (schedule <= 0) {

cancelAnimationFrame(temp);

_ts.setData({

width: width,

t: 0

});

return;

} else {

animate();

};

})

})();

 

本文标签

: