9、日期对象、时钟倒计时

1、获取当前系统时间

屏幕快照 2018-02-01 下午11.28.30.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body style="font-size: 80px;">
    <script type="text/javascript">
        function fnTime() {    //  函数:获取当前时间
            var myTime = new Date()
            var iYear = myTime.getFullYear();    //  年
            var iMonth = myTime.getMonth()+1;    //  月
            var iDate = myTime.getDate();        //  日
            var iWeek = myTime.getDay();         //  星期
            var iHours = myTime.getHours();      //  时
            var iMin = myTime.getMinutes();      //  分
            var iSec = myTime.getSeconds();      //  秒
            //  转换星期
            if (iWeek === 0) { iWeek = '星期天' }
            if (iWeek === 1) { iWeek = '星期一' }
            if (iWeek === 2) { iWeek = '星期二' }
            if (iWeek === 3) { iWeek = '星期三' }
            if (iWeek === 4) { iWeek = '星期四' }
            if (iWeek === 5) { iWeek = '星期五' }
            if (iWeek === 6) { iWeek = '星期六' }

            var str = '';   //  设了一个"空"、可简化
            str = iYear +'年'+iMonth+'月'+iDate+'日 '+iWeek +' '+toTwo(iHours)+':'+toTwo(iMin)+':'+toTwo(iSec);

            var oBody = document.body;
            oBody.innerHTML = str;
        }
        fnTime()

        setInterval(fnTime,1000);   //  调用函数不写 括号

        function toTwo(num) {     //  函数:空位补零   09:00:00
            if (num < 10) {
                return '0' + num;
            }else {
                return num;
            }
        }
    </script>
</body>
</html>

2、倒计时(天数,时,分,秒)

屏幕快照 2018-02-02 上午12.01.35.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1 id="time"></h1>    <!-- 倒计时显示的位置 -->
    <script type="text/javascript">

        window.onload =function () {

            function timer() {
                //计算相差多少毫秒      未来时间.需要传参.月份"month-1"     当前时间
                var minusTime = (new Date(2018,1,15,24,0,0)) - (new Date());
                //获取元素
                var days = parseInt(minusTime / 86400000);  //1天 = 86400000毫秒
                var hours = parseInt((minusTime % 86400000) / 3600000);//1小时 = 3600000毫秒
                var minutes = parseInt((minusTime % 3600000) / 60000);//1分钟 = 60000毫秒
                var seconds = parseInt((minusTime % 60000) / 1000);//1秒 = 1000毫秒
                //空位补零.
                function checkTime(i) {//将0-9的数字前面加上0.  1变为01
                    if (i < 10) {
                        return '0' + i;
                    }else {
                        return i;
                    }
                }
                //带入函数,获取新元素
                days = checkTime(days);
                hours = checkTime(hours);
                minutes = checkTime(minutes);
                seconds = checkTime(seconds);
                //获取最终时间
                document.getElementById('time').innerHTML = '距离春节: '+ days + "天 &nbsp;" + hours + ":" + minutes + ":" + seconds;
            }
            timer();//立即调用这个函数。解决延时1sの问题
            setInterval (timer,1000);//将以上所有函数带入'间隔性定时器(A,1000)'
        }
    </script>
</body>
</html>

3、动画时钟(图片版)

屏幕快照 2018-02-02 上午12.09.32.png
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            ul{
                margin: 0;
                padding: 0;
                position: relative;
                height: 170px;
                overflow: hidden;
            }
            li{
                list-style: none;
                width: 120px;
                height: 170px;
                position: relative;
                float: left;
            }
            div{
                height: 340px;
                position: absolute;
                top: 0;
            }
            img{
                width: 120px;
                height: 170px;
                vertical-align: top;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>
                <div><img src="img/0.jpg" alt=""><img src="img/0.jpg" alt=""></div>
            </li>
            <li>
                <div><img src="img/0.jpg" alt=""><img src="img/0.jpg" alt=""></div>
            </li>
            <li>
                <img src="img/colon.jpg" alt="">
            </li>
            <li>
                <div><img src="img/0.jpg" alt=""><img src="img/0.jpg" alt=""></div>
            </li>
            <li>
                <div><img src="img/0.jpg" alt=""><img src="img/0.jpg" alt=""></div>
            </li>
            <li>
                <img src="img/colon.jpg" alt="">
            </li>
            <li>
                <div><img src="img/0.jpg" alt=""><img src="img/0.jpg" alt=""></div>
            </li>
            <li>
                <div><img src="img/0.jpg" alt=""><img src="img/0.jpg" alt=""></div>
            </li>
        </ul>
        <script type="text/javascript">
            var divs = document.getElementsByTagName('div');
            var imgs = document.querySelectorAll('li>img');
            var old = getTime();
            //开始先调用一下,解决页面刚打开的时候时间延时显示的问题。
            for(var i=0;i<divs.length;i++){
                divs[i].getElementsByTagName('img')[0].src = 'img/'+old[i]+'.jpg';
            }
            // autoPlay();
            //开定时器自动更新时间
            setInterval(function(){
                //点的闪烁
                for(var i=0;i<imgs.length;i++){
                    imgs[i].src = 'img/colon1.jpg';
                }
                //延时半秒点的闪烁
                setTimeout(function(){
                    for(var i=0;i<imgs.length;i++){
                        imgs[i].src = 'img/colon.jpg';
                    }
                }, 500)
                autoPlay();
            }, 1000)
            function getTime(){
                var date = new Date();
                var h = date.getHours();
                var m = date.getMinutes();
                var s = date.getSeconds();
                //拼成时间字符串
                var time = toTwo(h)+toTwo(m)+toTwo(s);
                return time;
            }
            function autoPlay(){
                
                var time = getTime();
                
                // '232020'
                // '232019'
                for(var i=0;i<time.length;i++){
                    if(old[i] !== time[i]){

                        slied(i,time);
                    }
                    
                }
                old = time;
            }
            //图片切换
            function slied(n,time){
                var imgs = divs[n].getElementsByTagName('img');
                imgs[1].src = 'img/'+time[n]+'.jpg';
                move(divs[n],'top',-170,400,function(){
                    imgs[0].src = 'img/'+time[n]+'.jpg';
                    divs[n].style.top = '';
                })
            }


            //补零
            function toTwo(n){
                return n<10?'0'+n:''+n;
            }


            function move(obj,attr,target,duration,callback){
                var b = parseFloat(getComputedStyle(obj)[attr]);
                var c = target - b;
                var d = duration;
                var now = new Date().getTime();
                obj[attr] = setInterval(function(){
                    var t = new Date().getTime() - now;
                    var value = b + c / d * t;
                    obj.style[attr] = value+"px";
                    if(t >= d){
                        clearInterval(obj[attr]);
                        obj.style[attr] = target+"px";
                        callback&&callback();//当到达目标值的时候执行回调函数
                    }
                },30)
            }
        </script>
    </body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,313评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,369评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,916评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,333评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,425评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,481评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,491评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,268评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,719评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,004评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,179评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,832评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,510评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,153评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,402评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,045评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,071评论 2 352

推荐阅读更多精彩内容