📂 JS 실습하기/그외 도전작
[ 자바스크립트 ] 구버전용 벽시계 🕔 2015. 3. 6. 01:37
각각의 변수가 정확히 뭘 의미하는지도 잘 모르겠고...
점들을 추가하고, 간격을 더 좁히면,
실선처럼 보이게 할 수도 있을 것 같긴 한데... 내 실력이... ㅠ.ㅠ
그냥 베껴온걸로 만족해야될 듯...
사용중인 브라우저에서, <canvas> 태그가 적용된다면, 아래 문서를 참고하시길. ...
|
1
2
3
4
5
6
7
8
9
10
11
12
|
<style type="text/css">
div.dig, div.hour, div.min, div.sec { margin: 0; padding: 0; position: absolute; }
div.hour, div.min, div.sec { width: 2px; height: 2px; font-size: 2px; }
div.dig { padding-top: 10px; width: 30px; height: 30px;
text-align: center; font-family: arial,verdana,sans-serif; font-size: 10px;
color: gray; }
div.hour { background: #ff0; }
div.min { background: #6cf; }
div.sec { background: #ccc; }
</style>
<table style="width:140px; margin: 0 auto; padding: 0; background-color: #407080;">
<tbody>
<tr>
<td style="font-size: 10px;">
<div style="width: 120px; height: 100px; position: relative; left: 58px; top: 50px;">
<div id="dig1" class="dig">1</div>
<div id="dig2" class="dig">2</div>
<div id="dig3" class="dig">3</div>
<div id="dig4" class="dig">4</div>
<div id="dig5" class="dig">5</div>
<div id="dig6" class="dig">6</div>
<div id="dig7" class="dig">7</div>
<div id="dig8" class="dig">8</div>
<div id="dig9" class="dig">9</div>
<div id="dig10" class="dig">10</div>
<div id="dig11" class="dig">11</div>
<div id="dig12" class="dig">12</div>
<div id="hour1" class="hour"></div>
<div id="hour2" class="hour"></div>
<div id="hour3" class="hour"></div>
<div id="hour4" class="hour"></div>
<div id="min1" class="min"></div>
<div id="min2" class="min"></div>
<div id="min3" class="min"></div>
<div id="min4" class="min"></div>
<div id="min5" class="min"></div>
<div id="sec1" class="sec"></div>
<div id="sec2" class="sec"></div>
<div id="sec3" class="sec"></div>
<div id="sec4" class="sec"></div>
<div id="sec5" class="sec"></div>
<div id="sec6" class="sec"></div>
</div>
</td>
</tr>
</tbody>
</table>
<script type="text/javascript">
/** Standard Scroll Clock by kurt.grigg@virgin.net **/
<!--
var
H = '....'.split(''),
M = '.....'.split(''),
S = '......'.split('');
var
Ypos = 0,
Xpos = 0,
Ybase = 8,
Xbase = 8,
dots = 12;
function clock(){
var
time = new Date (),
seconds = time.getSeconds(),
minutes = time.getMinutes(),
hours = time.getHours();
var
sec = -1.57 + Math.PI * seconds/30,
min = -1.57 + Math.PI * minutes/30,
hrs = -1.57 + Math.PI * hours/6 + Math.PI * parseInt (minutes) / 360;
var n;
for ( n = 0; n < dots; ++n ){
document.getElementById( "dig" + (n+1) ).style.top = 0 - 15 + 40 * Math.sin( -0.49 + dots + n/1.9 ).toString() + "px";
document.getElementById( "dig" + (n+1) ).style.left = 0 - 14 + 40 * Math.cos( -0.49 + dots + n/1.9 ).toString() + "px";
}
for ( n = 0; n < S.length; n++ ){
document.getElementById( "sec" + (n+1) ).style.top = Ypos + n * Ybase * Math.sin(sec).toString() + "px";
document.getElementById( "sec" + (n+1) ).style.left = Xpos + n * Xbase * Math.cos(sec).toString() + "px";
}
for ( n = 0; n < M.length; n++){
document.getElementById( "min" + (n+1) ).style.top = Ypos + n * Ybase * Math.sin(min).toString() + "px";
document.getElementById( "min" + (n+1) ).style.left = Xpos + n * Xbase * Math.cos(min).toString() + "px";
}
for ( n = 0; n < H.length; n++){
document.getElementById( "hour" + (n+1) ).style.top = Ypos + n * Ybase * Math.sin(hrs).toString() + "px";
document.getElementById( "hour" + (n+1) ).style.left = Xpos + n * Xbase * Math.cos(hrs).toString() + "px";
}
setTimeout( "clock()", 50 );
}clock();
//-->
</script>
'JS 실습하기 > 그외 도전작' 카테고리의 다른 글
| [ 자바스크립트 ] 나만의 "dateString()" 함수 만들기 ─ 2 (0) | 2015.04.22 |
|---|---|
| [ 자바스크립트 ] 나만의 "dateString()" 함수 만들기 ─ 1 (0) | 2015.04.21 |
| [ 자바스크립트 ] 로또 번호 생성기 1 (0) | 2015.03.25 |
| [ 자바스크립트 ] 랜덤으로 색상 및 글자 크기 바꾸기 (0) | 2015.03.05 |
| [ 자바스크립트 ] 단순한 모양의 디지털 시계 (0) | 2015.02.15 |