Advertisement
Guest User

Untitled

a guest
Dec 1st, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. <html>
  2. <head>
  3. <title>Analoge Uhr in SVG</title>
  4. <script>
  5.  
  6. var svg_open="<?xml version='1.0' ?><svg viewBox='0 0 300 300' width='300' height='300' xmlns='http://www.w3.org/2000/svg'>";
  7. var svg_stat="";
  8. var svg_zeig="";
  9. var svg_end="</svg>";
  10.  
  11. function zifferblatt()
  12. {
  13. svg_stat="<circle cx='150' cy='150' r='145' fill='#000000' />";
  14. svg_stat=svg_stat+"<circle cx='150' cy='150' r='140' fill='#0fff0f' />";
  15.  
  16.  
  17. var step=3.14159*2/12;
  18. var cx=0;
  19. var cy=0;
  20. var svg_point="";
  21.  
  22. for(var i=0; i<12; i++)
  23. {
  24. cx=145+Math.sin(i*step)*130;
  25. cy=155-Math.cos(i*step)*130;
  26.  
  27. //svg_point="<circle cx='"+cx+"' cy='"+cy+"' r='4' fill='#000000'/>";
  28.  
  29. zz=i; if (i==0) {zz=12;}
  30. svg_point="<text x='"+cx+"' y='"+cy+"' fill='#000000'>"+zz+"</text>";
  31.  
  32. svg_stat=svg_stat+svg_point;
  33. }
  34. }
  35.  
  36. function zeiger()
  37. {
  38. var zeit=new Date();
  39. var sekunde=zeit.getSeconds();
  40. var minute=zeit.getMinutes();
  41. var stunde=zeit.getHours();
  42. var step12=(3.14159*2)/12;
  43. var step60=(3.14159*2)/60;
  44. var px=0;
  45. var py=0;
  46.  
  47. px=150+Math.sin(sekunde*step60)*120;
  48. py=150-Math.cos(sekunde*step60)*120;
  49.  
  50. svg_zeig="<path d='M 150 150 L "+px+" "+py+"' stroke-width='1' stroke='#ff0000'/>";
  51.  
  52. px=150+Math.sin((minute+sekunde/60)*step60)*120;
  53. py=150-Math.cos((minute+sekunde/60)*step60)*120;
  54.  
  55. svg_zeig=svg_zeig+"<path d='M 150 150 L "+px+" "+py+"' stroke-width='3' stroke='#0000ff'/>";
  56.  
  57. px=150+Math.sin((stunde+minute/60)*step12)*90;
  58. py=150-Math.cos((stunde+minute/60)*step12)*90;
  59.  
  60. svg_zeig=svg_zeig+"<path d='M 150 150 L "+px+" "+py+"' stroke-width='5' stroke='#000000'/>";
  61. svg_zeig=svg_zeig+"<circle cx='150' cy='150' r='5' fill='#000000' />";
  62. }
  63.  
  64. function zeige_uhr()
  65. {
  66. zeiger();
  67. var svg=svg_open+svg_stat+svg_zeig+svg_end;
  68. svg=btoa(svg);
  69. document.getElementById('uhr').src="data:image/svg+xml;base64,"+svg;
  70. }
  71.  
  72. </script>
  73. </head>
  74. <body>
  75. <hr>Analoge Uhr in SVG<hr>
  76. <img src='' id='uhr' width='300' height='300'>
  77. <script>
  78. zifferblatt();
  79. zeige_uhr();
  80. window.setInterval("zeige_uhr()",1000)
  81. </script>
  82. </body>
  83. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement