一般倒计时的时间都是后台传来的然后渲染到页面,这里有2个简单的倒计时方式 //带天数的倒计时 function countDown(times){ var timer=null; timer=setInterval(function(){ var day=0, hour=0, minute=0, second=0;//时间默认值 if(times > 0){ day = Math.floor(times / (60 * 60 * 24)); hour = Math.floor(times / (60 * 60)) - (day * 24); m 在JavaScript中,倒计时是常见的前端开发需求,通常用于活动结束、考试开始等场景。本文将介绍两种简单实现JS倒计时的方法。 第一种倒计时方式:带天数的倒计时 这个方法首先定义了一个名为`countDown`的函数,它接受一个参数`times`,表示总秒数。函数内部使用`setInterval`创建了一个定时器,每隔1000毫秒(即1秒)执行一次回调函数。在回调函数中,计算天数、小时数、分钟数和秒数,并根据需要添加前导零。倒计时每秒递减`times`的值,直到为0,此时通过`clearInterval`停止定时器。 关键代码如下: ```javascript function countDown(times) { var timer = null; timer = setInterval(function() { // 计算天数、小时数、分钟数和秒数 var day = Math.floor(times / (60 * 60 * 24)); var hour = Math.floor(times / (60 * 60)) - (day * 24); var minute = Math.floor(times / 60) - (day * 24 * 60) - (hour * 60); var second = Math.floor(times) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60); // 添加前导零 if (day <= 9) day = '0' + day; if (hour <= 9) hour = '0' + hour; if (minute <= 9) minute = '0' + minute; if (second <= 9) second = '0' + second; // 输出倒计时 // console.log(day + "天:" + hour + "小时:" + minute + "分钟:" + second + "秒"); times--; // 当times小于等于0时,停止计时器 if (times <= 0) { clearInterval(timer); } }, 1000); } ``` 第二种倒计时方式:单纯分钟和秒倒计时 这个方法定义了另一个名为`resetTime`的函数,同样接受一个参数`time`,表示总秒数。它首先计算分钟数和秒数,然后设置定时器每秒递减秒数,当秒数变为负数时,递减分钟数并更新秒数。如果分钟数变为负数,清空定时器并停止倒计时。 关键代码如下: ```javascript function resetTime(time) { var timer = null; var t = time; var m = 0; var s = 0; m = Math.floor(t / 60 % 60); m < 10 && (m = '0' + m); s = Math.floor(t % 60); function countDown() { s--; s < 10 && (s = '0' + s); // 更新分钟数和秒数 if (s.length >= 3) { s = 59; m = "0" + (Number(m) - 1); } if (m.length >= 3) { m = '00'; s = '00'; clearInterval(timer); } // 输出倒计时 console.log(m + "分钟" + s + "秒"); } timer = setInterval(countDown, 1000); } ``` 使用这两种倒计时函数时,只需传入剩余的总秒数即可。例如,如果你有一个24小时后的倒计时,可以这样调用: ```javascript countDown(24 * 60 * 60); resetTime(24 * 60 * 60); ``` 了解了这些基础的倒计时实现后,你可以根据实际需求进行扩展,例如增加时区支持、动态获取后台数据更新倒计时、添加事件处理等。同时,也可以考虑使用更高级的库,如React或Vue中的状态管理工具来处理复杂的倒计时逻辑。对于更深入的倒计时功能,建议参考相关的技术文章或教程,以便更好地理解和应用。
- 粉丝: 2
- 资源: 925
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- apache-maven-3.6.1-bin.zip
- c593f5fc-d4a7-4b43-8ab2-51afc90f3f62
- IIR滤波器参数计算函数
- WPF树菜单拖拽功能,下级目录拖到上级目录,上级目录拖到下级目录.zip
- CDH6.3.2版本hive2.1.1修复HIVE-14706后的jar包
- 鸿蒙项目实战-天气项目(当前城市天气、温度、湿度,24h天气,未来七天天气预报,生活指数,城市选择等)
- Linux环境下oracle数据库服务器配置中文最新版本
- Linux操作系统中Oracle11g数据库安装步骤详细图解中文最新版本
- SMA中心接触件插合力量(插入力及分离力)仿真
- 变色龙记事本,有NPP功能,JSONview功能