比较精确的js倒计时实现

    // 传入需要倒计时的秒数countDown(times) {// 时间间隔 1秒const interval = 1000;// 计算时间,转化为毫秒let ms = times * 1000;let count = 0;const startTime = new Date().getTime();const endTime = startTime + ms;let timeCounter;timeCounter = setTimeout(countDownStart, interval)function countDownStart() {count++const offset = new Date().getTime() - (startTime + count * interval);// 计算剩余时间const diff = endTime - new Date().getTime();const h = Math.floor(diff / (60 * 1000 * 60));const hdiff = diff % (60 * 1000 * 60);const m = Math.floor(hdiff / (60 * 1000));const mdiff = hdiff % (60 * 1000);const s = mdiff / (1000);const sCeil = Math.ceil(s);const sFloor = Math.floor(s);let nextTime = interval - offset;if (nextTime < 0) {nextTime = 0}ms = ms - interval;console.log(`误差:${offset} ms,下一次执行:${nextTime} ms 后,离活动开始还有:${ms} ms`);console.log('时:' + h, '分:' + m, '毫秒:' + s, '秒向上取整:' + sCeil)if (ms < 0) {clearTimeout(timeCounter)console.log('此处执行自己想要的操作')} else {timeCounter = setTimeout(countDownStart, nextTime)}}}

核心代码如上,可以更具自己的业务逻辑修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 如何让循环结束,跳过某个条件,跳出当前的多重嵌套循环

当数据比较庞大的时候&#xff0c;需要循环遍历某个数据的时候可用 for (int ab 0;ab<10000;ab){if (ab 7){//当找到7的时候&#xff0c;结束循环Log.v("map","..ab 7....11......"ab);break;}else {Log.v("map","......11..else....&qu…

服务器虚拟化之-——VMware组件与功能。

最近公司提出帮服务器虚拟化&#xff0c;以前也没接触过&#xff0c;在网上搜了一通&#xff0c;查看了一少资料&#xff0c;感觉现在对虚拟化有了一些了解&#xff0c;在售前我们要出方案&#xff0c;需要对虚拟化进行一个整体评估&#xff0c;这步先省略&#xff0c;后期再补…

vue 获取验证码倒计时组件

之前写过一个计时函数&#xff0c;有计算误差&#xff0c;但是验证码的60秒倒计时可以忽略这一点点误差。直接上代码。 <template><div class"captcha-row"><input class"captcha-input" placeholder"输入验证码" auto-focus …

【iCore1S 双核心板_FPGA】例程十六:基于SPI的ARM与FPGA通信实验

实验现象&#xff1a; 核心代码&#xff1a; int main(void) {int i,n;char buffer[20];char spi_buffer[20];HAL_Init();system_clock.initialize();led.initialize();usart1.initialize(115200);spi.initialize();usart1.printf("Hello! I am iCore1S!\r\n"); …

WebView纯浏览模式,webView不可点击

方法1&#xff1a; webView.setWebViewClient(new WebViewClient() {Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) { // view.loadUrl(url);return true;//true时&#xff0c;不可点击跳页效果&#xff0c;false时&#xff0c;可…

js 短信验证码 6位数字

其死后就一样代码&#xff0c;比较简单&#xff0c;但是非常常用 const code (000000 Math.floor(Math.random() * 999999)).slice(-6);

服务器的性能监测及工具(profmon)

在使用PerfMon进行服务器基准测试之前&#xff0c;我们将介绍几个技巧来检测服务器的内存使用情况&#xff0c;以确保内存分配不会影响服务器性能。 Memory:Available Bytes-这个功能检测操作系统(OS)的物理内存总量&#xff0c;并计算服务器上运行所有必须进程和应用程序所需的…

Android中1像素Activity进程保活

背景Android8.0马上就要发布&#xff0c;Google对于安卓市场上各种应用占据内存空间的问题不断进行内存完善&#xff0c;我们的应用进程很难再保持不死之身&#xff0c;以前的服务唤醒在5.0已经失效&#xff0c;现在我们尽可能的做到保活方式就是提高进程的优先级&#xff0c;本…

记录一个奇葩问题 宝塔 nginx: [warn] conflicting server

宝塔面板里面运行很久的nginx&#xff0c;好久没有重启&#xff0c;这次一重启&#xff0c;报错了。 解决方法&#xff0c;去/www/server/panel/vhost/nginx目录下&#xff0c;把相关的历史记录给删掉&#xff0c;再重启&#xff0c;就没有问题了

fn:replace()函数

fn:replace()函数将字符串中所有指定的子串用另外的字符串替换。 语法 fn:replace()函数的语法如下&#xff1a; ${fn:replace(<原始字符串>, <被替换的字符串>, <要替换的字符串>)} 实例演示 以下实例演示了这个函数的功能&#xff1a; <% page language…

oracle 数据更新

项目在外地实施&#xff0c;回公司时需要将数据同步&#xff0c;带回来一个&#xff24;&#xff35;&#xff2d;&#xff30;文件&#xff0c;怎么做呢&#xff1f; 首先删除本地的用户 &#xff1a;drop user username cascade; 然后新建这个用户&#xff0c;付权限&…

java 基本数据类型和包装类型

基本数据类型&#xff1a;byte&#xff0c;int&#xff0c; short&#xff0c; long&#xff0c; boolean&#xff0c;char&#xff0c; float&#xff0c;double等 包装类型&#xff1a; Byte&#xff0c;Integer&#xff0c;Short&#xff0c;Long&#xff0c;Boolean&#x…

django之快速分页

本文介绍djanog两种分页&#xff0c;第一是普通分页&#xff0c;第二是使用haystack全文检索的分页。 &#xff11;&#xff0e;django自带分页功能&#xff0c;这个功能非常好用。基本知识点&#xff1a;Django提供了数据分页的类&#xff0c;这些类被定义在django/core/pagin…

ORA-01033: ORACLE initialization or shutdown in progress

数据库无法连接&#xff0c;提示&#xff1a;ORA-01033: ORACLE initialization or shutdown in progress 现象是这样的&#xff1a; 在我们的测试环境中&#xff0c;一个数据库装了很多个实例&#xff0c;每个实例需要占用一定的内存&#xff0c;当我们有某个实例不需要用的…

node 测试生成模拟用户数据

使用到npm库mockjs&#xff0c;虽然这是一个截止目前两年都不更新的库&#xff0c;但是功能还是可以的。 安装 yarn add mockjs使用 const mock require(mockjs).mock; const nickname mock(cname); console.log(nickname);官方说明文档 http://mockjs.com/examples.html#D…