jQuery setInterval倒计时精确到毫秒

效果类似于:购物抢购倒计时-->在跳转N多个页面之后,倒计时间仍然正常显示。

思路:

结束时间是固定不变的(endTime),一直在改变的是当下的时间(curTime = new date());

时间差 = 结束时间 - 开始时间(leftTime = endTime - curTime);

知识点:

new Date("2017/06/22,17:00:00");//获取结束时间的时间点(固定)

new Date();//获取当下的时间(不断变化)

setInterval //倒计时

clearInterval();//清除倒计时

<p class="time"></p>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function timeLeft(select,endTime,curTime = new Date()){//curTime默认为当下时间
    var leftTime = endTime - curTime;//时间差
    if(leftTime <= 0){//如果时间差小于等于0
        clearInterval(timer);//清除定时器
        $(select).text(0+"天"+0+"时"+0+"分"+0+"秒"+0+"毫秒");
    }else{
        var days = Math.floor(leftTime/(1000*60*60*24));//天
        var hours = Math.floor(leftTime/(1000*60*60)%60);//时
        var mi = Math.floor(leftTime/(1000*60)%60);//分
        var se = Math.floor(leftTime/1000%60);//秒
        var ms = Math.floor(leftTime%1000);//毫秒
        $(select).text(days+"天"+hours+"时"+mi+"分"+se+"秒"+ms+"毫秒");
    }
}
     
var timer = setInterval(function(){//倒计时
    timeLeft(".time",new Date("2017/6/22,17:00:00"));//第一个参数是选择器,第二个参数是结束时间,第三个参数默认为当下时间
},1);//1毫秒倒计时:时间间隔为1,1秒倒计时:时间间隔为1000

 

其他:https://www.cnblogs.com/jiqing9006/p/5737312.html 

posted @   小小强学习网  阅读(436)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示