zting590
zting590
  • 发布:2019-09-18 15:17
  • 更新:2021-03-23 17:00
  • 阅读:1916

#插件讨论# 【 CountDown 倒计时(修复不能动态更改时间问题) - linnian 】不显示天数后,显示小时数有个bug

分类:uni-app

组件有个bug, 想要不显示天数,这时候只显示小时、分钟、秒, 小时的计算有问题. 比如剩余2天3小时,不显示天数应该转为剩余51小时,实际显示的还是3小时。请教下这个问题该怎么改呢?

2019-09-18 15:17 负责人:无 分享
已邀请:
阿条

阿条 - 一个孤独的码农

hour = Math.floor(seconds / (60 * 60)) - (day * 24);  
minute = Math.floor(seconds / 60) - (day * 24 * 60) - (hour * 60);  
second = Math.floor(seconds) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);

将源码中的这个时间计算中减掉的天去掉就好了。
比如:增加个判断

if(this.showDay){  
                        hour = Math.floor(seconds / (60 * 60)) - (day * 24);  
                        minute = Math.floor(seconds / 60) - (day * 24 * 60) - (hour * 60);  
                        second = Math.floor(seconds) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);  
                    }else{  
                        hour = Math.floor(seconds / (60 * 60));  
                        minute = Math.floor(seconds / 60) - (hour * 60);  
                        second = Math.floor(seconds) - (hour * 60 * 60) - (minute * 60);  
                    }
  • zting590 (作者)

    谢谢!

    2019-09-19 10:28

  • 欢呀

    我动态改变它会有bug,时间倒计时的很快,求解

    2020-03-20 20:43

linnian

linnian

这个组件内部实现逻辑最后分成了天时分秒,你要的效果很简单:把它最后的天乘以24加到时上面不就好了吗

1***@qq.com

1***@qq.com - 1111

怎么去动态显示的?楼主

  • zting590 (作者)

    动态显示在时分秒前面加冒号: <uni-countdown class="countdown1" :day="days" :hour="hours" :minute="minutes" :second="seconds" :showColon="false" @timeup="daoJishi" :showDay="false"></uni-countdown>

    2019-11-20 13:48

6***@qq.com

6***@qq.com

为什么一下跳两2秒

该问题目前已经被锁定, 无法添加新回复