아두이노프로세싱 프로그래밍

아두이노 NodeMCU 무선 와이파이 코딩: 아날로그 시계로 장식된 HTML/JavaScript 계산기

coding art 2011. 12. 28. 21:13
728x90

Calculatorclock_01.html



Calculatorclock_01.html

<!DOCTYPE HTML>
<html>

<head>
<style>
body{
background-color:tan;}
.box{
background-color:#3d4543;
height:510px;
width:260px;
border-radius:10px;
position:relative;
top:50px;
left:38%;}
.display{
background-color:#222;
width:222px;
position:relative;
left:15px;
top:20px;
height:40px;}
.display input{
width:210px;
position:relative;
left:3px;
top:2px;
height:30px;
color:black;
background-color:#bccd95;
font-size:21px;
text-align:right;}
.keys{
position:relative;
top:15px;}
.button{
width:40px;
height:30px;
border:none;
border-radius:8px;
margin-left:17px;
cursor:pointer;
border-top:2px solid transparent;}
.button.gray{
color:white;
background-color:#6f6f6f;
border-bottom:black 2px solid;
border-top:2px #6f6f6f solid;}
.button.pink{
color:black;
background-color:#ff4561;
border-bottom:black 2px solid;}
.button.black{
color:white;
background-color:#303030;
border-bottom:black 2px solid;
border-top:2px #303030 solid;}
.button.orange{
color:black;
background-color:FF9933;
border-bottom:black 2px solid;
border-top:2px FF9933 solid;}
.gray:active{
border-top:black 2px solid;
border-bottom:2px #6f6f6f solid;}
.pink:active{
border-top:black 2px solid;
border-bottom:#ff4561 2px solid;}
.black:active{
border-top:black 2px solid;
border-bottom:#303030 2px solid;}
.orange:active{
border-top:black 2px solid;
border-bottom:FF9933 2px solid;}
p{
line-height:10px;}
</style>
</head>
<body>
<div class="box">
<div class="display"><input type="text" readonly size="18" id="d"></div>
<div class="keys">
  <p><input type="button" class="button gray" value="Pi" onclick='v("3.14")'>
  <input type="button" class="button gray" value="(" onclick='v("(")'>
  <input type="button" class="button gray" value=")" onclick='v(")")'>
  <input type="button" class="button pink" value="/" onclick='v("/")'></p>
  <p><input type="button" class="button black" value="7" onclick='v("7")'>
  <input type="button" class="button black" value="8" onclick='v("8")'>
  <input type="button" class="button black" value="9" onclick='v("9")'>
  <input type="button" class="button pink" value="*" onclick='v("*")'></p>
  <p><input type="button" class="button black" value="4" onclick='v("4")'>
  <input type="button" class="button black" value="5" onclick='v("5")'>
  <input type="button" class="button black" value="6" onclick='v("6")'>
  <input type="button" class="button pink" value="-" onclick='v("-")'></p>
  <p><input type="button" class="button black"value="1" onclick='v("1")'>
  <input type="button" class="button black" value="2" onclick='v("2")'>
  <input type="button" class="button black" value="3" onclick='v("3")'>
  <input type="button" class="button pink" value="+" onclick='v("+")'></p>
  <p><input type="button" class="button black" value="0" onclick='v("0")'>
  <input type="button" class="button black" value="." onclick='v(".")'>
  <input type="button" class="button black" value="C" onclick='c("")'>
  <input type="button" class="button orange" value="=" onclick='e()'></p>
  <p><input type="button" class="button black" value="sin" onclick='v("Math.sin")'>
  <input type="button" class="button black" value="cos" onclick='v("Math.cos")'>
  <input type="button" class="button black" value="tan" onclick='v("Math.tan")'>
  <input type="button" class="button black" value="log" onclick='v("Math.log")'></p>
  <p><center>
  <body onload="updateTime()">
     <!-- viewBox is coordinate system, width and height are on-screen size -->
     <svg id="clock" viewBox="0 0 100 100" width="150" height="150">

 
       <circle id="face" cx="50" cy="50" r="45"/> <!-- the clock face -->
       <circle id="smallface" cx="50" cy="32" r="10"/> <!-- the small clock face -->
         
       <g id="ticks">
         <!-- 12 hour tick marks -->
         <line x1='50' y1='5.000' x2='50.00' y2='10.00'/>
         <line x1='72.50' y1='11.03' x2='70.00' y2='15.36'/>
         <line x1='88.97' y1='27.50' x2='84.64' y2='30.00'/>
         <line x1='95.00' y1='50.00' x2='90.00' y2='50.00'/>
         <line x1='88.97' y1='72.50' x2='84.64' y2='70.00'/>
         <line x1='72.50' y1='88.97' x2='70.00' y2='84.64'/>
         <line x1='50.00' y1='95.00' x2='50.00' y2='90.00'/>
         <line x1='27.50' y1='88.97' x2='30.00' y2='84.64'/>
         <line x1='11.03' y1='72.50' x2='15.36' y2='70.00'/>
         <line x1='5.000' y1='50.00' x2='10.00' y2='50.00'/>
         <line x1='11.03' y1='27.50' x2='15.36' y2='30.00'/>
         <line x1='27.50' y1='11.03' x2='30.00' y2='15.36'/>
       </g>
   
       <g id="smallticks">
         <!-- 12 hour tick marks -->
         <line x1='50' y1='24' x2='50' y2='22'/>
         <line x1='58' y1='32' x2='60' y2='32'/>
         <line x1='50' y1='40' x2='50' y2='42'/>
         <line x1='42' y1='32' x2='40' y2='32'/>
       </g>
 
       <g id="numbers">
         <!-- Number the cardinal directions-->
         <text x="50" y="18">12</text><text x="85" y="53">3</text>
         <text x="50" y="88">6</text><text x="15" y="53">9</text>
       </g>
   
 
 
       <!-- Draw hands pointing straight up. We rotate them in the code. -->
       <g id="hands"> <!-- Add shadows to the hands -->
         <line id="hourhand" x1="50" y1="50" x2="50" y2="24"/>
         <line id="minutehand" x1="50" y1="50" x2="50" y2="20"/>
         <line id="secondhand" x1="50" y1="32" x2="50" y2="24"/>
       </g>
     </svg>
 </body>
  </center></p>
 
</div>
</div>

<script type='text/javascript'>
function c(val){
document.getElementById("d").value=val;}
function v(val){
document.getElementById("d").value+=val;}
function e() {
try {
  c(eval(document.getElementById("d").value)) }
catch(e) {
  c('Error') } } 
</script>
</body>

<head>
     <script>
       function updateTime() { // Update the SVG clock
         var now = new Date();
         var sec = now.getSeconds();
         var min = now.getMinutes();
         var hour = (now.getHours() % 12) + min/60;
         var secangle = sec*6;
         var minangle = min*6;
         var hourangle = hour*30;
 
         // Get SVG elements for the hands of the clock
         var sechand = document.getElementById('secondhand');
         var minhand = document.getElementById("minutehand");
         var hourhand = document.getElementById("hourhand");
 
         // Set an SVG attribute on them to move them around the clock face
         sechand.setAttribute("transform", "rotate(" + secangle + ",50,32)");
         minhand.setAttribute("transform", "rotate(" + minangle + ",50,50)");
         hourhand.setAttribute("transform", "rotate(" + hourangle + ",50,50)");
 
         setTimeout(updateTime, 1000);
       }

     </script>
     <style>
       /* These CSS styles all apply to the SVG elements defined below */
       #clock {
         /* styles for everything in the clock */
         stroke: black;
         /* black lines */
         stroke-linecap: round;
         /* with rounded ends */
         fill: #eef;
         /* on a light blue gray background */
       }
       #face { stroke-width: 3px;}
       /* clock face outline */
    #smallface { stroke:green; stroke-width: 1px;}
       /* clock face outline */
       #ticks { stroke-width: 2; }
       /* lines that mark each hour */
    #smallticks { stroke:green; stroke-width: 1; }
       #hourhand {stroke-width: 5px;}
       /* wide hour hand */
       #minutehand {stroke: deepskyblue; stroke-width: 3px;} /* narrow minute hand */
       #secondhand {stroke:red; stroke-width: 1px;}
       #numbers {
         /* how to draw the numbers */
         font-family: sans-serif; font-size: 7pt; font-weight: bold;
         text-anchor: middle; stroke: none; fill: blue;
  
         }
     </style> 
   </head>


</html>​