微信小程序 - 考試倒計時


 

 

 

源碼如下(csdn提供了思路 , 多謝 ,第二個小程序項目,有驚無險(_。_):

 1 Page({
 2   /**
 3    * 頁面的初始數據
 4    */
 5   data: {
 6     timer: '', //定時器名字
 7     countDownNum: '5' //倒計時初始值
 8   },
 9   onLoad: function() {
10     this.countDown();
11   },
12   start: function() {
13     clearInterval(this.data.timer);
14     this.data.countDownNum = 6;
15     this.countDown();
16   },
17   countDown: function() {
18     let that = this;
19     let countDownNum = that.data.countDownNum; //獲取倒計時初始值
20     //如果將定時器設置在外面,那么用戶就看不到countDownNum的數值動態變化,所以要把定時器存進data里面
21     that.setData({
22       timer: setInterval(function() { //這里把setInterval賦值給變量名為timer的變量
23         //每隔一秒countDownNum就減一,實現同步
24         countDownNum--;
25         //然后把countDownNum存進data,好讓用戶知道時間在倒計着
26         that.setData({
27           countDownNum: countDownNum
28         })
29         //在倒計時還未到0時,這中間可以做其他的事情,按項目需求來
30         if (countDownNum == 0) {
31           //這里特別要注意,計時器是始終一直在走的,如果你的時間為0,那么就要關掉定時器!不然相當耗性能
32           //因為timer是存在data里面的,所以在關掉時,也要在data里取出后再關閉
33           clearInterval(that.data.timer);
34 
35           //關閉定時器之后,可作其他處理codes go here
36         }
37         that.data.countDownNum = 6;
38       }, 1000)
39     });
40   }
41 })
View Code

 

1. 在onload載入時,緩存list數據,開始計時,調用this.countDown();(到達60s以后,再次調用本身),即可實現每一題到達60s以后自動跳轉到下一題 ->自動

2. 單題計時60s,點下一題時,清除上一題計時器,並且再次調用this.conutDwon() -> 手動;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM