倒计时跳转和获取实时时间

写在前面:本文内容如题,自己做的一个demo,倒计时和获取实时时间在许多场景都用的到,所以还算蛮实用的,需要的朋友可以做个参考。

效果图:


页面效果

代码解析:
html代码

<body onload="startTime()">
<div class="box">
    <div class="time">请等待<span id="dd">6</span></div>
    <!--设置时间长一点,不然一直跳转很烦-->
    ![](aaa.png)
    <div class="id-box">
        <div id="time"></div>
        <div id="date"></div>
    </div>

    <p>更多·更全·更好用</p>
</body>

js倒计时代码

       function run(){
            var s = document.getElementById("dd");//获取dom,并获得数字
            if(s.innerHTML == 1){// 当dom==0的时候,跳转链接并且暂停函数
                window.location.href = "https://www.baidu.com/index.php?tn=98012088_3_dg&ch=1";
                clearInterval(run());//暂停setInterval调用的run()函数
            }
            s.innerHTML = s.innerHTML -1;//跑一秒减一个数字
        }
        window.setInterval("run();", 1000);//调用时间函数, 一秒跑一次
`

上面基本上每一行都有注释,所以我就为不知道的朋友写点定义和自己的理解,知道的朋友也可以加深点印象。
innerHTML定义和用法:
innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。

作用意思就是删除原来的样式,插入html的文字之类的
(w3c解释:http://www.w3school.com.cn/jsref/prop_tablerow_innerhtml.asp)

setInterval定义和用法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
(w3c解释:http://www.jb51.net/shouce/htmldom/jb51.net.htmldom/htmldom/met_win_setinterval.asp.html)

clearInterval定义和用法
clearInterval() 方法可取消由 setInterval() 设置的 timeout。(就是暂停的意思,这里是到了一秒就暂停住了,不再往下数了。)
clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。(这里的ID值是run()相当于获取这个dom。)
(w3c解释:http://www.w3school.com.cn/jsref/met_win_clearinterval.asp)

ps:还有不懂的可以把我的demo复制到本地,自己演示一下。

html代码在上面。
获取实时时间js代码:

function checkTime(i){
            if (i<10){
                i = "0" + i;
                //    当数值小于10的时候,在i前面加个0字符串。
            }return i;
        }
        function startTime(){//onload事件
            var today = new Date();
            var y = today.getFullYear();
            var month = today.getMonth();
            //获取当前时间。get。
            var d = today.getDate();
            var h = today.getHours();
            var m = today.getMinutes();
            var s = today.getSeconds();
            // add a zero in front of numbers<10
            month =checkTime(month+1);//因为月份是0-11月份,+1是把区间定在1-12月份,毕竟没有0月份,笑。
            d = checkTime(d);
            h =checkTime(h);
            m =checkTime(m);
            //将函数checkTime作用于时间变量,当变量小于10的时候将再变量前面加个字符串0
            s =checkTime(s);
            document.getElementById("time").innerHTML = h+":"+m+":"+s;//将实时时间结合字符串写出来。
            document.getElementById("date").innerHTML = y+"/"+month+"/"+d;
            t=setTimeout("startTime()",1000);//    每隔1000毫秒,再调用一下这个函数,刷新一下时间
        }
`

这个比较简单,在w3c上面演化出来的。

w3cDate对象:http://www.w3school.com.cn/jsref/jsref_obj_date.asp

checkTime(i):这里主要是符合我们看时间的习惯,比如18点05分。这里的0就是这个函数的"0"字符串。

onload事件:页面加载之后立即执行一段 JavaScript:

核心思想就是:获取实时的时间,然后通过+操作符,把他们链接起来,并跟html关联,使其呈现出来。

其他的,在注释里面都介绍的很清楚了,不会的,自己写一个试试就知道了。

demo链接:https://obkoro1.github.io/article-demo/js-time/time-countDown.html

以上。

最后又到了观众朋友们最喜欢的求赞求关注环节:希望看完的朋友点个喜欢,想关注我这个菜鸡是如何成长的也可以关注一下我,基本上每个月都不会少于十五篇文章(看到干货我也会进行分享)。码字不易,感谢支持,感激不尽!
ps:如果希望我写哪方面的文章可以在底下评论,或者是私信我,虽然写的不好,但我就当这是记录自己成长的一种方式咯。(前提是我会了,如果不会我也会记下来,等会了的时候再更出来。)
简书主页链接csdn博客主页链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值