利用html 5制作一个简单的时钟效果


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

<%--

    Document   : 时钟

    Created on : 2016-5-19, 9:49:29

    Author     : Administrator

--%>

  

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>JSP Page</title>

    </head>

    <style>

        canvas{

            border: 1px solid black;

        }

    </style>

    <script>

        (function(){

            //cavas元素对象

            var canvas=null;

            //canvas的3d上下文

            var ctx=null;

            //cavan的尺寸

            var cw=0;

            var ch=0;

            /**

             * 页面导入时的事件处理

             */

            window.addEventListener("load",function(){

                canvas=document.getElementById("sample");

                ctx=canvas.getContext("2d");

                cw=parseInt(canvas.width);

                ch=parseInt(canvas.height);

                 

                ctx.translate(cw/2, ch/2);

             

                //绘制时钟

                draw_watch();

            },false); 

  

         

            /**

             * 绘制时钟

             */

            function draw_watch(){

                //清空Canvas

                ctx.clearRect(-cw/2,-ch/2,cw,ch);

                //计算针的最大长度

                var len=Math.min(cw, ch)/2;

                //绘制刻度盘

                var tlen=len*0.85;

                ctx.font="14px 'Arial'";

                ctx.fillStyle="black";

                ctx.textAlign="center";

                ctx.textBaseLine="middle";

             

                for(var i=0; i<12; i++){

                    var tag1=Math.PI*2*(3-i)/12;

                    var tx=tlen * Math.cos(tag1);

                    var ty=-tlen * Math.sin(tag1);

                    ctx.fillText(i,tx,ty);

                }

                //获取当前的时分秒

                var d=new Date();

                var h=d.getHours();

                var m=d.getMinutes();

                var s=d.getSeconds();

                if(h >12 ){

                    h=h-12;

                }

             

                //绘制时针

                var angle1 = Math.PI * 2 *(3 - (h+ m/60))/12;

                var length1=len * 0.5;

                var width1=5;

                var color1="#000000";

                drawhand(angle1,length1,width1,color1);

             

                //绘制分针

                var angle2 = Math.PI * 2 *(15 - (m+ s/60))/60;

                var length2=len * 0.7;

                var width2=3;

                var color2="#555555";

                drawhand(angle2,length2,width2,color2);

             

                //绘制秒针

                var angle3 = Math.PI * 2 *(15 - s)/60;

                var length3=len * 0.8;

                var width3=1;

                var color3="#aa0000";

                drawhand(angle3,length3,width3,color3);

             

                //设置timer

                setTimeout(draw_watch,1000);

            }

            /**

             * 针绘制函数

             */

         

            function drawhand(angle,len,width,color){

                //计算针端的坐标

                var x=len*Math.cos(angle);

                var y=-len * Math.sin(angle);

                //绘制针

                ctx.strokeStyle=color;

                ctx.lineWidth=width;

                ctx.lineCap="round";

                ctx.beginPath();

                ctx.moveTo(0,0);

                ctx.lineTo(x,y);

                ctx.stroke();

             

            }

        })();

    </script>

    <body>

        <canvas id="sample" width="150" height="150"></canvas>

    </body>

</html>

相关推荐:html5教程

以上就是利用html 5制作一个简单的时钟效果的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

关于Html主体的一些问题探讨

什么是Html?一篇文章教你学会Html

Html5和Html能看出区别吗

Html中如何设置单选按钮

Html设置图片透明

vb输出Html乱码怎么办

标注Html元素时class与id有什么不同

Html 框架如何使用

Html文件怎么弄注释

网页设计是要学 php 还是 java

更多相关阅读请进入《Html》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...