html倒计时免费代码,JS倒计时代码汇总[通俗易懂]

本文实例总结了常见的JS倒计时代码。分享给大家供大家参考。具体汇总如下:第一种:精确到秒的javascript倒计时代码HTML代码:离2010年还有:startclock()vartimerID=null;vartimerRunning=false;functionshowtime(){Today=newDate();varNowHour=Today.getHours…

大家好,又见面了,我是你们的朋友全栈君。

本文实例总结了常见的JS倒计时代码。分享给大家供大家参考。具体汇总如下:

第一种:精确到秒的javascript倒计时代码

HTML代码:


离2010年还有:

startclock()

var timerID = null;

var timerRunning = false;

function showtime() {

Today = new Date();

var NowHour = Today.getHours();

var NowMinute = Today.getMinutes();

var NowMonth = Today.getMonth();

var NowDate = Today.getDate();

var NowYear = Today.getYear();

var NowSecond = Today.getSeconds();

if (NowYear <2000)

NowYear=1900+NowYear;

Today = null;

Hourleft = 23 – NowHour

Minuteleft = 59 – NowMinute

Secondleft = 59 – NowSecond

Yearleft = 2009 – NowYear

Monthleft = 12 – NowMonth – 1

Dateleft = 31 – NowDate

if (Secondleft<0)

{

Secondleft=60+Secondleft;

Minuteleft=Minuteleft-1;

}

if (Minuteleft<0)

{

Minuteleft=60+Minuteleft;

Hourleft=Hourleft-1;

}

if (Hourleft<0)

{

Hourleft=24+Hourleft;

Dateleft=Dateleft-1;

}

if (Dateleft<0)

{

Dateleft=31+Dateleft;

Monthleft=Monthleft-1;

}

if (Monthleft<0)

{

Monthleft=12+Monthleft;

Yearleft=Yearleft-1;

}

Temp=Yearleft+’年, ‘+Monthleft+’月, ‘+Dateleft+’天, ‘+Hourleft+’小时, ‘+Minuteleft+’分, ‘+Secondleft+’秒’

document.form1.left.value=Temp;

timerID = setTimeout(“showtime()”,1000);

timerRunning = true;

}

var timerID = null;

var timerRunning = false;

function stopclock () {

if(timerRunning)

clearTimeout(timerID);

timerRunning = false;

}

function startclock () {

stopclock();

showtime();

}

// –>

第二种:某某运动会

HTML代码:

第三种:小时倒计时

HTML代码:

第四种:最简倒计时

HTML代码:

第五种:最简倒计时二

HTML代码:

function djs(){

var urodz= new Date(“11/12/2008”);

var now = new Date();

var num

var ile = urodz.getTime() – now.getTime();

var dni = Math.floor(ile / (1000 * 60 * 60 * 24));

if (dni >1)

num=dni+1

else if (dni == 1) num=2

else if (dni == 0) num=1

else num=0

document.write(num)

}

距某某开幕式还有 [] 天

第六个:Javascript倒计时器 – 采用系统时间自校验

这次利用系统时间自校验倒计时, 无需手工调校使得倒计时更为精确, 代码及详细注释如下:

00:01:11:00

var normalelapse = 100;

var nextelapse = normalelapse;

var counter;

var startTime;

var start = clock.innerText;

var finish = “00:00:00:00”;

var timer = null;

// 开始运行

function run() {

startB.disabled = true;

endB.disabled = false;

counter = 0;

// 初始化开始时间

startTime = new Date().valueOf();

// nextelapse是定时时间, 初始时为100毫秒

// 注意setInterval函数: 时间逝去nextelapse(毫秒)后, onTimer才开始执行

timer = window.setInterval(“onTimer()”, nextelapse);

}

// 停止运行

function stop() {

startB.disabled = false;

endB.disabled = true;

window.clearTimeout(timer);

}

window.onload = function() {

endB.disabled = true;

}

// 倒计时函数

function onTimer()

{

if (start == finish)

{

window.clearInterval(timer);

alert(“time is up!”);

return;

}

var hms = new String(start).split(“:”);

var ms = new Number(hms[3]);

var s = new Number(hms[2]);

var m = new Number(hms[1]);

var h = new Number(hms[0]);

ms -= 10;

if (ms < 0)

{

ms = 90;

s -= 1;

if (s < 0)

{

s = 59;

m -= 1;

}

if (m < 0)

{

m = 59;

h -= 1;

}

}

var ms = ms < 10 ? (“0” + ms) : ms;

var ss = s < 10 ? (“0” + s) : s;

var sm = m < 10 ? (“0” + m) : m;

var sh = h < 10 ? (“0” + h) : h;

start = sh + “:” + sm + “:” + ss + “:” + ms;

clock.innerText = start;

// 清除上一次的定时器

window.clearInterval(timer);

// 自校验系统时间得到时间差, 并由此得到下次所启动的新定时器的时间nextelapse

counter++;

var counterSecs = counter * 100;

var elapseSecs = new Date().valueOf() – startTime;

var diffSecs = counterSecs – elapseSecs;

nextelapse = normalelapse + diffSecs;

diff.value = counterSecs + “-” + elapseSecs + “=” + diffSecs;

next.value = “nextelapse = ” + nextelapse;

if (nextelapse < 0) nextelapse = 0;

// 启动新的定时器

timer = window.setInterval(“onTimer()”, nextelapse);

}

希望本文所述对大家基于javascript的web程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125837.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月6日 下午12:40
下一篇 2022年4月6日 下午1:00


相关推荐

  • 双线性插值算法推导及代码实现

    双线性插值算法推导及代码实现双线性插值,是一种比较重要的插值方法,尤其在数字图像处理领域。本篇博文分为三个部分:一是双线性插值的算法推导,二是双线性插值的算法实现,三是算法的运行结果。

    2022年6月8日
    33
  • Hbuilder正则替换「建议收藏」

    左边:(([0-9]{2,3})px)分组,$1为最外一层括弧;$len为里面一层括弧右边:ab($2)rem$2为源字符中数据,其他为新加的效果:body{font-size:12px;line-hei…

    2022年4月15日
    190
  • 横评Kimi K2、DeepSeek、Grok 4、Claude 4四款大模型,谁是真王者?

    横评Kimi K2、DeepSeek、Grok 4、Claude 4四款大模型,谁是真王者?

    2026年3月15日
    2
  • Ubuntu安装Pycharm专业版

    Ubuntu安装Pycharm专业版如果你想在 Ubuntu 下安装 Pycharm 专业版 并且想一直免费使用 或许本文将帮到你文章中出现的相关版本 Ubuntu18 04Pycharm201 3 6 具体操作下载 PyCharm Professional 2018 任意版本 linux 专业版 下面有下载的途径 1 Pycharm2018 下载提取密码 giil2 官网下载为了方便管理将 JetbrainsCra release enc jar 提取密码 mslv 放置到 PyCharm 目录下 这里我们放到 b

    2026年3月27日
    1
  • 计算机win7卡顿如何解决方法,win7卡顿严重解决方法_win7运行卡顿严重最流畅设置方法-win7之家…[通俗易懂]

    计算机win7卡顿如何解决方法,win7卡顿严重解决方法_win7运行卡顿严重最流畅设置方法-win7之家…[通俗易懂]在使用win7系统电脑的时间一长,出现的电脑故障也就会越多,这大多数都是用户自己所造成的,例如有用户的win7系统在运行过程中总是会出现严重卡顿的情况,这让许多用户都感到很难受,那么win7卡顿严重怎么解决呢?下面小编就来告诉大家win7运行卡顿严重最流畅设置方法。具体方法:1、右击【计算机】选择属性;2、在出现的面板的左侧栏选择【高级系统设置】;3、依次点击【高级】【设置】;4、默认是【让系统选…

    2025年11月1日
    4
  • 滤波算法(四)—— 卡尔曼滤波算法[通俗易懂]

    滤波算法(四)—— 卡尔曼滤波算法[通俗易懂]一、算法介绍卡尔曼滤波是一个神奇的滤波算法,应用非常广泛,它是一种结合先验经验、测量更新的状态估计算法。1、状态估计首先,对于一个我们关心的物理量,我们假设它符合下面的规律其中,为该物理量本周期的实际值,为该物理量上一个周期的实际值,当然这个物理量可能不符合这个规律,我们只是做了一个假设。不同的物理量符合的规律不同,是我们的经验,我们根据这个规律…

    2022年6月13日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号