HTML5时钟(三)

版权声明:本文为博主原创文章,使用请注明出处:http://blog.csdn.net/sxc1414749109 https://blog.csdn.net/sxc1414749109/article/details/79470249
  • 普通无特效
<!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>Time</title>
    <style>
        html,body{
            background: black;
            height: 100%;
            margin: 0;
            /* 开启弹性布局 */
            display: flex;
            /* 水平居中 */
            justify-content: center;
            /* 垂直居中 */
            align-items: center;
        }
        main{

            /* border: 1px solid red; */
            text-align: center;
        }
        #time_div{
            font-size: 150px;
            color: chartreuse;
            font-family: 草书;
        }
        #date_div{
            font-size: 40px;
            color: peru;
            font-family: 草书;
        }
    </style>
</head>
<body>
    <main>
        <div id="time_div">12:12:12</div>
        <div id="date_div">2012年12月12日 星期二</div>
    </main>

    <!-- js代码块,获取当前时间 -->
    <script>
        // var varible 变量
        // document 文档:网页
        var time_msg = document.getElementById('time_div');
        var date_msg = document.getElementById('date_div');
        // 创建方法的格式
        // function+方法名称
        function showTime(){
            // 获取当前最新时间
            var newTime = new Date();
            // console输出log日志
            // 在控制台输出日志信息
            console.log(newTime)
            // alert弹出框
            // alert(newTime);

            var hours = newTime.getHours();
            var minutes = newTime.getMinutes();
            var second = newTime.getSeconds();
            // + 字符串拼接
            // + 如果是数字表示相加
            hours = hours < 10?'0' + hours : hours;
            minutes = minutes < 10? '0' + minutes : minutes;
            second = second < 10? '0' + second : second;
            // alert(hours);
            time_msg.innerText = hours + ':' + minutes + ':' + second;

            var year = newTime.getFullYear();
            var month = newTime.getMonth()+1;
            // 获取日
            var date = newTime.getDate();
            // 获取星期
            var day = newTime.getDay();
            if(day==0){
                day = '日'
            }
            else if(day==1){
                day = '一'
            }
            else if(day==2){
                day = '二'
            }
            else if(day==3){
                day = '三'
            }
            else if(day==4){
                day = '四'
            }
            else if(day==5){
                day = '五'
            }
            else{
                day = '六'
            }
            date_msg.innerText = year + '年' + month + '月' + date + '日 星期' + day; 
        }
        // 调用方法
        showTime();
        // invterval 时间间隔
        // 参数1:调用的方法
        // 参数2:间隔时间 单位默认是毫秒
        // 1000毫秒刷新一次
        setInterval(showTime,1000);
    </script>
</body>
</html>
  • 带简单特效
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>时钟</title>
</head>
<body>
    <header>
        <h1>时钟</h1>
    </header>
    <artical>
        <section>
            <figure>
                <canvas id="one" width="800" height="800"></canvas>
            </figure>
        </section>
    </artical>
    <script>
        var one=document.getElementById("one");
        var context=one.getContext("2d");
        function clock() {
            var sec=new Date().getSeconds();
            var min=new Date().getMinutes();
            var hour=new Date().getHours();
            //设置表盘
            //圆形渐变色参数分别为两个圆心和半径
            var g1 = context.createRadialGradient(400, 400, 0, 400, 400, 200);
            //设置两个渐变色的参数
            g1.addColorStop(0, "#fcfcfc");
            g1.addColorStop(1, "#defdff");
            //设置线宽
            context.lineWidth = 2;
            context.fillStyle = g1;
            context.beginPath();
            context.arc(400, 400, 200, 0,360, false);
            context.closePath();
            context.fill();
            context.stroke();
            context.fillStyle="yellow";
            context.beginPath();
            context.arc(400,400,10,0,360, false);
            context.closePath();
            context.fill();

            //时针刻度盘
            for (var i = 0; i < 12; i++) {
                context.save();
                //将坐标原点位置移动到圆心处
                context.translate(400, 400);
                context.rotate(i*30*Math.PI/180);
                context.beginPath();
                context.moveTo(0, -200);
                context.lineTo(0, -180);
                context.closePath();
                context.stroke();
                context.restore();//不重置会少两个刻度???
            }
            //分针刻度盘和秒针刻度盘
            for (var i = 0; i < 60; i++) {
                if (i%5!=0) {
                    context.save();
                    context.strokeStyle="red";
                    context.translate(400, 400);
                    context.rotate(i*6*Math.PI/180);
                    context.beginPath();
                    context.moveTo(0, -200);
                    context.lineTo(0, -190);
                    context.closePath();
                    context.stroke();
                    context.restore();
                }

            }
            //秒针
            context.save();
            context.fillStyle="red";
            context.translate(400, 400);
            context.rotate(sec*6*Math.PI/180);
            context.beginPath();
            context.moveTo(0, -170);
            context.lineTo(-5, -30);
            context.lineTo(0, -10);
            context.lineTo(5, -30);
            context.closePath();
            context.fill();
            context.restore();


            //分针
            context.save();
            context.fillStyle="blue";
            context.translate(400,400);
            context.rotate(min*6*Math.PI/180);
            context.beginPath();
            context.moveTo(0, -150);
            context.lineTo(-5, -30);
            context.lineTo(0, -10);
            context.lineTo(5, -30);
            context.closePath();
            context.fill();
            context.restore();

            //时针
            context.save();
            context.lineWidth=2;
            context.fillStyle="black";
            context.translate(400,400);
            context.rotate(hour*30*Math.PI/180);
            context.beginPath();
            context.moveTo(0, -130);
            context.lineTo(-8,-30);
            context.lineTo(0,-10);
            context.lineTo(8,-30);
            context.closePath();
            context.fill();
            context.restore();

        }
        context.clearRect(0,0,800,800);//清除画布
        clock();
        setInterval(clock,1000);

    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/sxc1414749109/article/details/79470249