zoukankan      html  css  js  c++  java
  • HTML5小时钟

    
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Examples</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <link href="" rel="stylesheet">
    <style>
        canvas{
            background: #eee;
        }
    </style>
    <script>
        window.onload=function(){
            var con=document.getElementById('con');
            var oCanvas=con.getContext("2d");
            var startX=200;
            var startY=200;
            var radius=100;
            
    
            setInterval(function(){
                oCanvas.clearRect(0, 0, 400, 400);
                // 阴影
                oCanvas.shadowColor="#888";
                oCanvas.shadowOffsetX=1;
                oCanvas.shadowOffsetY=1;
                oCanvas.shadowBlur=3;
    
                // 渐变
                var grd=oCanvas.createRadialGradient(startX, startY,1, startX, startY,100);
                grd.addColorStop(0, '#efefef');
                grd.addColorStop(1, "#cecece");
                oCanvas.fillStyle=grd;
                oCanvas.lineWidth=5;
                oCanvas.beginPath();
                oCanvas.strokeStyle="#a34";
                oCanvas.arc(startX, startY, radius, 0, 2*Math.PI);
                oCanvas.stroke();
                oCanvas.fill();
    
                // 去掉阴影
                oCanvas.shadowColor="#888";
                oCanvas.shadowOffsetX=0;
                oCanvas.shadowOffsetY=0;
                oCanvas.shadowBlur=0;
    
                // 画刻度
                dragMark();
                var myDate=new Date();
                var H=myDate.getHours()*30+myDate.getMinutes()/2-90;
                var M=myDate.getMinutes()*6-90;
                var S=myDate.getSeconds()*6-90;
                // 时针
                dragT("#000",4,55,H);
                // 分针
                dragT("#888",3,65,M);
                // 秒针
                dragT("#f10",2,80,S);
                // 画中心点
                oCanvas.beginPath();
                oCanvas.fillStyle="#ccc";
                oCanvas.arc(200, 200, 6, 0, 2*Math.PI);
                oCanvas.fill();
            }, 1000);
    
            
    
            
    
            
            
            function dragT(color,lw,radius,angle){
                oCanvas.beginPath();
                oCanvas.strokeStyle=color;
                oCanvas.lineWidth=lw;
                oCanvas.moveTo(startX, startY);
                oCanvas.lineTo(startX+radius*Math.cos(angle*Math.PI/180), startY+radius*Math.sin(angle*Math.PI/180));
                oCanvas.stroke();
            }
    
            function dragMark(){
                for(var i = 0; i < 60; i++) {
                    var lw=2;
                    var radius1=radius-5;
                    var angle=i*6*Math.PI/180;
                    oCanvas.strokeStyle="#888";
                    if (i%5==0) {
                        radius1=radius-8;
                        lw=3;
                        oCanvas.strokeStyle="#666";
                    };
                    // if(i%15==0){
                    //     var s=(i*6-90)*Math.PI/180;
                    //     oCanvas.fillStyle="#000"
                    //     oCanvas.fillText(i/5, startX+(radius-15)*Math.cos(s), startY+(radius-15)*Math.sin(s));
                    // }
                    oCanvas.lineWidth=lw;
                    oCanvas.beginPath();
                    oCanvas.moveTo(startX+radius*Math.cos(angle), startY+radius*Math.sin(angle));
                    oCanvas.lineTo(startX+radius1*Math.cos(angle), startY+radius1*Math.sin(angle));
                    oCanvas.stroke();
                };
                
            }
        }
    </script>
    </head>
    <body>
        <canvas width="400" height="400" id="con"></canvas>
    </body>
    </html>
    
    
    
     

    效果图~

  • 相关阅读:
    [git 学习篇] git commit原理 --实践体会
    [git 学习篇]工作区和暂存区
    [git 学习篇] git文件版本回退再学习
    [git 学习篇]版本回退
    [git 学习篇] 修改文件
    [git 学习篇] 提交文件
    [git 学习篇] --创建git创库
    [测试框架学习] 测试框架的结构包含
    [python测试框架] http接口测试框架
    向SharePoint页面添加后台代码
  • 原文地址:https://www.cnblogs.com/JerryWang24/p/3974309.html
Copyright © 2011-2022 走看看