การทำ Analog Clock โดยใช้ Java Script จัดทำโดย : เฟริสท์ พิมพ์
 Untitled Document

บทความนี้จะเป็นการทำนาฬิกา Analog เอามาไว้ที่หน้าเว็บของเรานะครับโดยไม่ต้องพึ่ง Flash กันนะครับ

ขั้นตอน 1:แทรก stylesheet และ Script นี้เอาไปวางที่ Tag <head> </head>

<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v" />
<object id="VMLRender" codebase="vgx.dll" classid="CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E">
</object>
<style>
<!--
v\:* { behavior: url(#VMLRender); }
-->
</style>
<script language="JavaScript1.2">

var clocksize=135
//กำหนดขนาดของนาฬิกา

function updatePointers() {
var now = new Date();

secondsPointer.style.rotation = now.getSeconds() * 6;
minutesPointer.style.rotation = now.getMinutes() * 6 + now.getSeconds() / 10;
hoursPointer.style.rotation = now.getHours() * 30 + now.getMinutes() / 2;
}

if (document.all&&window.print){
window.attachEvent("onload", initVMLClock);
window.attachEvent("onresize", resizeObjects);
}

function initVMLClock() {
resizeObjects();
updatePointers();
window.setInterval("updatePointers()", 1000);

}

function resizeObjects() {
var size = Math.min(clocksize, clocksize);
clock.style.pixelWidth = size - 2*(size * 0.045);
clock.style.pixelHeight = size - 2*(size * 0.045);

clock.childNodes.item(0).childNodes.item(0).weight = size * 0.01;

secondsPointer.childNodes.item(0).childNodes.item(0).weight = size * 0.001;
minutesPointer.childNodes.item(0).childNodes.item(0).weight = size * 0.002;
hoursPointer.childNodes.item(0).childNodes.item(0).weight = size * 0.004;

}

function toggle(sId) {
var el = document.getElementById(sId);

el.style.display = (el.style.display == "none") ? "block" : "none";
}

//-->
</script>

ขั้นตอน 2: Copy Code ไปวางที่ Tag <body> </body>ในหน้างานของคุณ

<v:group id="clock" coordsize="100 100" style="position: relative;">
<v:oval style="width: 100%; height: 100%">
<v:stroke weight="10px" color="gray"/>
<!-- I removed this gradient fill to match the WebFX color theme
<v:fill type="gradient" color="white" color2="#eeeeff" angle="225deg"/>
-->
</v:oval>

<v:group id="secondsPointer" style="width: 100%; height: 100%; position: absolute; top: 0px; left: 0px;">
<v:line from="50,50" to="50,5">
<v:stroke weight="2px" endcap="round" color="navy"/>
</v:line>
</v:group>

<v:group id="minutesPointer" style="width: 100%; height: 100%; position: absolute; top: 0px; left: 0px;">
<v:line from="50,50" to="50,8">
<v:stroke weight="4px" endcap="round" color="navy"/>
</v:line>
</v:group>

<v:group id="hoursPointer" style="width: 100%; height: 100%; position: absolute; top: 0px; left: 0px;">
<v:line from="50,50" to="50,18">
<v:stroke weight="7px" endcap="round" color="navy"/>
</v:line>
</v:group>

</v:group>

ข้อมูลจาก : http://www.dynamicdrive.com/dynamicindex6/analog2.htm

ตัวอย่าง









คุณอาจสนใจ
การใช้คำสั่ง do while
Mr.POP (56,182 - 05 พ.ย. 49)
การใช้คำสั่ง DCount สำหรับหาจำนวน
นายจืด (22,283 - 03 พ.ค. 51)
วิธีกำจัดไวรัส Mytob ออกจากคอมพิวเตอร์
เว็บไทยดีดี (17,215 - 03 พ.ค. 51)
การนำ รูปภาพมาเป็น ปุ่ม submit form
Tung (94,378 - 23 ธ.ค. 50)
การลบ Record
อ้อม (19,879 - 07 เม.ย. 50)
นิพจน์และตัวดำเนินการในภาษาซ
langjuko (23,609 - 19 ก.ย. 51)
การเขียน Script เพื่อแบ่งหน้า
~๐จอมขมังโค้ด๐~ (128,700 - 03 มิ.ย. 49)
Smart Tip แต่งภาพ: ลดความสว่างส่วนเกิน
เว็บไทยดีดี (93,039 - 26 เม.ย. 51)