您的位置:首页 > 其它

非canvas时钟--------摘抄

2011-10-02 09:03 211 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

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

<title>KWW-Clock</title>

<style type="text/css">

#clock{

width: 200px;

height: 200px;

border: 1px solid black;

border-radius: 100px;

position:relative;

margin:0 auto;

background-color:#eee;

}

#dot{

border-radius:2px;

width: 8px;

height: 8px;

position:absolute;

top: 0;

bottom: 0;

margin: auto;

left: 0;

right: 0;

background: black;

}

.needle

{

-ms-transform-origin: 50% 100%;

-webkit-transform-origin: 50% 100%;

-moz-transform-origin: 50% 100%;

-o-transform-origin: 50% 100%;

transform-origin:50% 100%;

}

#second{

position:relative;

z-index:5;

height: 80px;

width: 1px;

margin: 20px auto;

}

#second_needle{

height: 100%;

width: 100%;

position: relative;

background: green;

}

#minute{

z-index:4;

height: 60px;

width: 4px;

position: absolute;

top: 40px;

left: 0px;

right: 0px;

margin: auto;

}

#minute_needle{

height: 100%;

width: 100%;

background: blue;

}

#hour{

z-index:3;

height: 40px;

width: 8px;

position: absolute;

top: 60px;

left: 0px;

right: 0px;

margin: auto;

}

#hour_needle{

height: 100%;

width: 100%;

background: red;

}

</style>

</head>

<body>

<style type="text/css">

#clock{

width: 200px;

height: 200px;

border: 1px solid black;

border-radius: 100px;

position:relative;

margin:0 auto;

background-color:#eee;

}

#dot{

border-radius:2px;

width: 8px;

height: 8px;

position:absolute;

top: 0;

bottom: 0;

margin: auto;

left: 0;

right: 0;

background: black;

}

.needle

{

-ms-transform-origin: 50% 100%;

-webkit-transform-origin: 50% 100%;

-moz-transform-origin: 50% 100%;

-o-transform-origin: 50% 100%;

transform-origin:50% 100%;

}

#second{

position:relative;

z-index:5;

height: 80px;

width: 1px;

margin: 20px auto;

}

#second_needle{

height: 100%;

width: 100%;

position: relative;

background: green;

}

#minute{

z-index:4;

height: 60px;

width: 4px;

position: absolute;

top: 40px;

left: 0px;

right: 0px;

margin: auto;

}

#minute_needle{

height: 100%;

width: 100%;

background: blue;

}

#hour{

z-index:3;

height: 40px;

width: 8px;

position: absolute;

top: 60px;

left: 0px;

right: 0px;

margin: auto;

}

#hour_needle{

height: 100%;

width: 100%;

background: red;

}

</style>

<div id="clock">

<div id="dot"></div>

<div id="second" class="needle">

<div id="second_needle">

</div>

</div>

<div id="minute" class="needle">

<div id="minute_needle">

</div>

</div>

<div id="hour" class="needle">

<div id="hour_needle">

</div>

</div>

</div>

<script type="text/javascript">

window.onload = function(){

var date = new Date(),

second = date.getSeconds(),

minute = date.getMinutes(),

minuteDeg,

hour = date.getHours(),

hourDeg;

var secondrotate = 'rotate('+second*6+'deg)';

var scss = '-moz-transform:' + secondrotate + ';-o-transform:' + secondrotate + ';-ms-transform:' + secondrotate;

document.getElementById('second').style.cssText = scss;

document.getElementById('second').style.webkitTransform = secondrotate;

minuteDeg = minute*6 + second*6/60;

var minuterotate = 'rotate('+minuteDeg+'deg)';

var minutecss = '-moz-transform:' + minuterotate + ';-o-transform:' + minuterotate + ';-ms-transform:' + minuterotate ;

document.getElementById('minute').style.cssText = minutecss;

document.getElementById('minute').style.webkitTransform = minuterotate; //webkit,Ҫ

if(hour>12){

hour = hour -12;

}

hourDeg = hour * 30 + minute*30/60;

var hourtrotate = 'rotate('+hourDeg+'deg)';

var hcss = '-moz-transform:' + hourtrotate + ';-o-transform:' + hourtrotate + ';-ms-transform:' + hourtrotate;

document.getElementById('hour').style.cssText = hcss;

document.getElementById('hour').style.webkitTransform = hourtrotate; //webkit,Ҫ

};

setInterval(function(){

var date = new Date(),

second = date.getSeconds();

var secondrotate = 'rotate('+second*6+'deg)';

var scss = '-moz-transform:' + secondrotate + ';-o-transform:' + secondrotate + ';-ms-transform:' + secondrotate ;

document.getElementById('second').style.cssText = scss;

document.getElementById('second').style.webkitTransform = secondrotate; //webkit,Ҫ

},1000)

setInterval(function(){

var date = new Date(),

second = date.getSeconds(),

minute = date.getMinutes(),

minuteDeg;

minuteDeg = minute*6 + second*6/60;

var minuterotate = 'rotate('+minuteDeg+'deg)';

var minutecss = '-moz-transform:' + minuterotate + ';-o-transform:' + minuterotate + ';-ms-transform:' + minuterotate ;

document.getElementById('minute').style.cssText = minutecss;

document.getElementById('minute').style.webkitTransform = minuterotate; //webkit,Ҫ

},6000)

setInterval(function(){

var date = new Date(),

second = date.getSeconds(),

minute = date.getMinutes(),

hour = date.getHours(),

hourDeg;

if(hour>12){

hour = hour -12;

}

hourDeg = hour * 30 + minute*30/60;

var hourtrotate = 'rotate('+hourDeg+'deg)';

var hcss = '-moz-transform:' + hourtrotate + ';-o-transform:' + hourtrotate + ';-ms-transform:' + hourtrotate;

document.getElementById('hour').style.cssText = hcss;

document.getElementById('hour').style.webkitTransform = hourtrotate; //webkit,Ҫ

},360000)

</script>

<script type="text/javascript">

function makeDrag(obj)

{

obj.onmousedown = function (e)

{

if (!document.all) e.preventDefault();

var oPos = getObjPos(obj);

var cPos = getCurPos(e);

document.onmouseup = function (e){

document.onmousemove = null;

};

document.onmousemove = function (e)

{

obj.style.position = 'absolute';

var Pos = getCurPos(e);

obj.style.left = Pos.x - cPos.x + oPos.x + 'px';

obj.style.top = Pos.y - cPos.y + oPos.y + 'px';

}

}

}

function getObjPos(obj)

{

var x = y = 0;

if (obj.getBoundingClientRect)

{

var box = obj.getBoundingClientRect();

var D = document.documentElement;

x = box.left + Math.max(D.scrollLeft, document.body.scrollLeft) - D.clientLeft;

y = box.top + Math.max(D.scrollTop, document.body.scrollTop) - D.clientTop;

}

else

{

for(; obj != document.body; x += obj.offsetLeft, y += obj.offsetTop, obj = obj.offsetParent );

}

return {'x':x, 'y':y};

}

function getCurPos(e)

{

e = e || window.event;

var D = document.documentElement;

if (e.pageX)

return {x: e.pageX, y: e.pageY};

return {

x: e.clientX + D.scrollLeft - D.clientLeft,

};

}

</script>

<script type="text/javascript">

var clock = document.getElementById("clock");

makeDrag(clock);

</script>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: