超酷的圆盘时钟表

2023-05-16



<!DOCTYPE html PUBLIC
"-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d" >
<html xmlns= "http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
<title>超酷数码钟表</title>
<script type= "text/javascript" src= "http://ajax.googleapis.com/ajax/libs
/jquery/1.10.2/jquery.min.js" ></script>
<script type= "text/javascript" >
//引用的是在线jquery地址,如果不行请自行下载切换
( function ($){
     $.fn.drawClock = function (options){
         var mainId = $( this );
         
         //设置默认参数
         var defaultOptions = {
             'width' : '300px' ,
             'height' : '300px' ,
             'margin' : '200px auto' ,
             'border' : '1px solid #888' ,
             'border-radius' : '50%' ,
             'box-shadow' : '2px 2px 4px #111'
         };
         var options = $.extend(defaultOptions, options);
         
         mainId.css({
             'width' : options.width,
             'height' : options.height,
             'margin' : options.margin,
             'border' : options.border,
             'border-radius' : options[ 'border-radius' ],
             'box-shadow' : options[ 'box-shadow' ],
             'position' : 'relative'
         }).css({
             'background' : '-webkit-gradient(radial, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', 0, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', ' + mainId.width()/2 + ', from(#ffe), to(#eee))' ,
             'background' : '-moz-radial-gradient(circle closest-side, #ffe 0%, #eee 100%)'
         });
         
         //钟表盘中心圆
         $( "<div id='circle'></div>" ).appendTo(mainId).css({
             'width' : '20px' ,
             'height' : '20px' ,
             'border-radius' : '50%' ,
             'box-shadow' : '0 0 5px rgba(0,0,0,0.8)' ,
             'position' : 'absolute' ,
             'z-index' : 999,
             'background' : '-webkit-gradient(radial, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', 0, ' + mainId.width()/2 + ' ' + mainId.height()/2 + ', ' + mainId.width()/2 + ', from(#ffe), to(#eee))' ,
             'background' : '-moz-radial-gradient(circle, #eee 30%, #ffe 100%)'
         }).css({
             'left' : mainId.width()/2 - $( '#circle' ).width()/2,
             'top' : mainId.height()/2 - $( '#circle' ).height()/2
         });
         
         var dateTime = new Date();
         var oHours = dateTime.getHours();
         var oMinutes = dateTime.getMinutes();
         var oSeconds = dateTime.getSeconds();
         
         //初始化时分秒
         var hPointer = drawPointer(mainId.width()/2, mainId.height()/2, mainId.width()/2*(3/6), 5, "#333" , -90+oHours*30+oMinutes*6/12);
         var mPointer = drawPointer(mainId.width()/2, mainId.height()/2, mainId.width()/2*(4/6), 4, "#666" , -90+oMinutes*6);
         var sPointer = drawPointer(mainId.width()/2, mainId.height()/2, mainId.width()/2*(5/6), 3, "#f00" , -90+oSeconds*6);
         
         //运动时分秒
         var timer = setInterval( function (){
             dateTime = new Date();
             oHours = dateTime.getHours();
             oMinutes = dateTime.getMinutes();
             oSeconds = dateTime.getSeconds();      
             hPointer.css({ 'transform' : 'rotate(' + (-90+oHours*30+oMinutes*6/12) + 'deg)' });
             mPointer.css({ 'transform' : 'rotate(' + (-90+oMinutes*6) + 'deg)' });
             sPointer.css({ 'transform' : 'rotate(' + (-90+oSeconds*6) + 'deg)' });
         }, 1000);
         
         
         //绘制钟表刻度
         for ( var i=0; i<60; i++){
             var width = 3, height = 6, oBcolor = '#111' ;
             if (i%5 == 0){
                 width = 5;
                 height = 10;
             }
             if (i%15 == 0){
                 oBcolor = 'red' ;
             }
             $( "<div class='clockMark'></div>" ).appendTo(mainId).css({
                 'width' : width,
                 'height' : height,
                 'position' : 'absolute' ,
                 'top' : 0,
                 'left' : mainId.width()/2,
                 'background' : oBcolor,
                 'transform' : 'rotate(' + i*6 + 'deg)' ,
                 "transform-origin" : "0 " + mainId.width()/2+ 'px'
             });
         }
         
         //绘制钟表指针
         function drawPointer (startx, starty, width, height, bcolor, angle) {
             var oPointer = $( "<div></div>" );
             oPointer.appendTo(mainId).css({
                 'width' : width,
                 'height' : height,
                 'position' : 'absolute' ,
                 'top' : starty,
                 'left' : startx,
                 'background' : bcolor,
                 'transform' : 'rotate(' + angle + 'deg)' ,
                 'transform-origin' : '0 0'
             });
             return oPointer;
         }
         
         return this ;
     }
})(jQuery);
</script>
<script type= "text/javascript" >
$( function (){
     $( '#clock' ).drawClock();
});
</script>
</head>
 
<body>
     <div id= "clock" ></div>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超酷的圆盘时钟表 的相关文章

随机推荐