感谢参考原文-http://bjbsair.com/2020-04-01/tech-info/18510.html
惯例,先来效果图
Index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>动态时钟</title>
<meta >
<script src="js/jquery-1.10.2.js"></script>
<script src="js/test.js"></script>
<script src="js/common.js"></script>
<script src="js/config.js"></script>
</head>
<style>
* {
margin: 0;
padding: 0;
}
body {
background-attachment: fixed;
color: #F5F4F6;
font-size: 12px;
font-weight: bold;
overflow: hidden;
width: 1000px;
height: 900px;
font-family: "微软雅黑";
}
audio {
position: absolute;
right: 0;
opacity: 0.1;
transition: all 1s;
}
audio:hover {
opacity: 1;
}
.current {
color: #D1A3F7;
}
video {
z-index: -1;
/* object-fit: fill; */
position: fixed;
/* right: 0px;
bottom: 0px; */
min-width: 100%;
min-height: 100%;
/* height: auto;
width: auto; */
}
.main-content {
position: absolute;
top: 50%;
left: 50%;
}
.main-content .year {
position: relative;
top: -13px;
left: -38px;
text-align: center
}
.main-content .year span {
position: absolute;
width: 80px;
}
.main-content .month {
position: relative;
top: -13px;
left: 40px;
}
.month span {
position: absolute;
width: 60px;
}
.main-content .day {
position: relative;
top: -13px;
left: 85px;
}
.day span {
position: absolute;
width: 65px;
}
.main-content .week {
position: relative;
top: -13px;
left: 145px;
}
.week span {
position: absolute;
width: 65px;
}
.main-content .shichen {
position: relative;
top: -13px;
left: 200px;
}
.shichen span {
position: absolute;
width: 125px;
}
.main-content .hour {
position: relative;
top: -13px;
left: 240px;
}
.hour span {
position: absolute;
width: 60px;
}
.main-content .minute {
position: relative;
top: -13px;
left: 300px;
}
.minute span {
position: absolute;
width: 60px;
}
.main-content .second {
position: relative;
top: -13px;
left: 370px;
}
.second span {
position: absolute;
width: 60px;
}
</style>
<body>
<div class="main-content">
<div class="year">
</div>
<div class="month"></div>
<div class="day"></div>
<div class="week"></div>
<div class="shichen"></div>
<div class="hour"></div>
<div class="minute"></div>
<div class="second"></div>
</div>
</body>
</html>
common.js
function numToSimp(n){var str="";var units=parseInt(n%10);var tens=parseInt(n/10);var trans="零一二三四五六七八九十";if(tens>1){str=trans.charAt(tens);}
if(tens!=0){str+="十";}
if(units!=0){str+=trans.charAt(units);}
if(tens==0&&units==0){str=trans[0];}
return str;}
function numToTrad(n){var str="";var units=parseInt(n%10);var tens=parseInt(n/10);var trans="零一二三四五六七八九";if(tens>1){str=trans.charAt(tens);}
if(tens!=0){str+="十";}
if(units!=0){str+=trans.charAt(units);}
if(tens==0&&units==0){str=trans[0];}
return str;}
function numToEng(n){var str="";var units=parseInt(n%10);var tens=parseInt(n/10);var trans=[["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],["twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"],];if(n<20)
{str=trans[0][n];}else{str=trans[1][tens-2];if(units!=0){str+=trans[0][units];}}
if(tens==0&&units==0){str=trans[0][0];}
return str;}
function isLeapYear(year){if(year%4==0&&year%100!=0||year%400==0)
{return true;}else{return false;}}
function getYear(type,year){var res=""
var units=parseInt(year/1%10);var tens=parseInt(year/10%10);var hund=parseInt(year/100%10);var thou=parseInt(year/1000%10);switch(type){case 0:case 3:res=year;break;case 1:res=numToSimp(thou)+numToSimp(hund)+numToSimp(tens)+numToSimp(units);break;case 2:res=numToTrad(thou)+numToTrad(hund)+numToTrad(tens)+numToTrad(units);break;}
return res;}
function getMonths(type,month){var months=new Array();var monthsEng=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var i=1;switch(type){case 0:for(i=month;i<=12;i++)
{months.push(i);}
for(i=1;i<month;i++)
{months.push(i);}
break;case 1:for(i=month;i<=12;i++)
{months.push(numToSimp(i));}
for(i=1;i<month;i++)
{months.push(numToSimp(i));}
break;case 2:for(i=month;i<=12;i++)
{months.push(numToTrad(i));}
for(i=1;i<month;i++)
{months.push(numToTrad(i));}
break;case 3:for(i=month-1;i<12;i++)
{months.push(monthsEng[i]);}
for(i=0;i<month-1;i++)
{months.push(monthsEng[i]);}
break;}
return months;}
function getdays(type,year,month,day){var days=new Array();var j=1;var isLeap=isLeapYear(year);switch(type){case 0:case 3:for(j=day;j<=31;j++)
{days.push(j)
if(month==2&&isLeap&&j==29){break;}
if(month==2&&!isLeap&&j==28){break;}
if((month==2||month==4||month==6||month==9||month==11)&&j==30){break;}}
for(j=1;j<day;j++){days.push(j)}
break;case 1:for(j=day;j<=31;j++)
{days.push(numToSimp(j))
if(month==2&&isLeap&&j==29){break;}
if(month==2&&!isLeap&&j==28){break;}
if((month==2||month==4||month==6||month==9||month==11)&&j==30){break;}}
for(j=1;j<day;j++){days.push(numToSimp(j))}
break;case 2:for(j=day;j<=31;j++)
{days.push(numToTrad(j))
if(month==2&&isLeap&&j==29){break;}
if(month==2&&!isLeap&&j==28){break;}
if((month==2||month==4||month==6||month==9||month==11)&&j==30){break;}}
for(j=1;j<day;j++){days.push(numToTrad(j))}
break;}
return days;}
function getShiChen(type,hour){var shichen={index:0,str:""};switch(type){case 0:if(hour>=23||hour<1){shichen.index=0;shichen.str="23:00-1:00";}
else if(hour>=1&&hour<3){shichen.index=1;shichen.str="1:00-3:00";}
else if(hour>=3&&hour<5){shichen.index=2;shichen.str="3:00-5:00";}
else if(hour>=5&&hour<7){shichen.index=3;shichen.str="5:00-7:00";}
else if(hour>=7&&hour<9){shichen.index=4;shichen.str="7:00-9:00";}
else if(hour>=9&&hour<11){shichen.index=5;shichen.str="9:00-11:00";}
else if(hour>=11&&hour<13){shichen.index=6;shichen.str="11:00-13:00";}
else if(hour>=13&&hour<15){shichen.index=7;shichen.str="13:00-15:00";}
else if(hour>=15&&hour<17){shichen.index=8;shichen.str="15:00-17:00";}
else if(hour>=17&&hour<19){shichen.index=9;shichen.str="17:00-19:00";}
else if(hour>=19&&hour<21){shichen.index=10;shichen.str="19:00-21:00";}
else if(hour>=21&&hour<23){shichen.index=11;shichen.str="21:00-23:00";}
break;case 1:case 2:if(hour>=23||hour<1){shichen.index=0;shichen.str="子时"}
else if(hour>=1&&hour<3){shichen.index=1;shichen.str="丑时";}
else if(hour>=3&&hour<5){shichen.index=2;shichen.str="寅时";}
else if(hour>=5&&hour<7){shichen.index=3;shichen.str="卯时";}
else if(hour>=7&&hour<9){shichen.index=4;shichen.str="辰时";}
else if(hour>=9&&hour<11){shichen.index=5;shichen.str="巳时";}
else if(hour>=11&&hour<13){shichen.index=6;shichen.str="午时";}
else if(hour>=13&&hour<15){shichen.index=7;shichen.str="未时";}
else if(hour>=15&&hour<17){shichen.index=8;shichen.str="申时";}
else if(hour>=17&&hour<19){shichen.index=9;shichen.str="酉时";}
else if(hour>=19&&hour<21){shichen.index=10;shichen.str="戌时";}
else if(hour>=21&&hour<23){shichen.index=11;shichen.str="亥时";}
break;case 3:if(hour>=23||hour<1){shichen.index=0;shichen.str="23pm to 1am"}
else if(hour>=1&&hour<3){shichen.index=1;shichen.str="1am to 3am"}
else if(hour>=3&&hour<5){shichen.index=2;shichen.str="3am to 5am"}
else if(hour>=5&&hour<7){shichen.index=3;shichen.str="5pm to 7am"}
else if(hour>=7&&hour<9){shichen.index=4;shichen.str="7pm to 9am"}
else if(hour>=9&&hour<11){shichen.index=5;shichen.str="9pm to 11am"}
else if(hour>=11&&hour<13){shichen.index=6;shichen.str="11am to 13pm"}
else if(hour>=13&&hour<15){shichen.index=7;shichen.str="13pm to 15pm"}
else if(hour>=15&&hour<17){shichen.index=8;shichen.str="15pm to 17pm"}
else if(hour>=17&&hour<19){shichen.index=9;shichen.str="17pm to 19pm"}
else if(hour>=19&&hour<21){shichen.index=10;shichen.str="19pm to 21pm"}
else if(hour>=21&&hour<23){shichen.index=11;shichen.str="21pm to 23pm"}
break;}
return shichen;}
function getShiChens(type,shichen){var shichens=new Array();var i=0;var shichen0=["23:00-1:00","1:00-3:00","3:00-5:00","5:00-7:00","7:00-9:00","9:00-11:00","11:00-13:00","13:00-15:00","15:00-17:00","17:00-19:00","19:00-21:00","21:00-23:00"];var shichen1=["子时","丑时","寅时","卯时","辰时","巳时","午时","未时","申时","酉时","戌时","亥时"];var shichen3=["23pm to 1am","1am to 3am","3am to 5am","5pm to 7am","7pm to 9am","9pm to 11am","11am to 13pm","13pm to 15pm","15pm to 17pm","17pm to 19pm","19pm to 21pm","21pm to 23pm"];switch(type){case 0:for(i=shichen.index;i<12;i++){shichens.push(shichen0[i]);}
for(i=0;i<shichen.index;i++){shichens.push(shichen0[i]);}
break;case 1:case 2:for(i=shichen.index;i<12;i++){shichens.push(shichen1[i]);}
for(i=0;i<shichen.index;i++){shichens.push(shichen1[i]);}
break;case 3:for(i=shichen.index;i<12;i++){shichens.push(shichen3[i]);}
for(i=0;i<shichen.index;i++){shichens.push(shichen3[i]);}
break;}
return shichens;}
function getMonthEng(month){var monthsEng=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return monthsEng[month-1];}
function getWeeks(type,week){weeks=[];weeksEng=["Sun","Mon","Tues","Wed","Thur","Fri","Sat"];var i=0;switch(type){case 0:case 1:case 2:for(i=week;i<7;i++){weeks[i]="星期"+numToSimp(i);if(i==0){weeks[i]="星期日"}}
for(i=0;i<week;i++){weeks[i]="星期"+numToSimp(i);}
break;case 3:for(i=week;i<7;i++)
{weeks.push(weeksEng[i]);}
for(i=0;i<week;i++)
{weeks.push(weeksEng[i]);}
break;}
return weeks;}
function getWeek(type,week){weekEng=["Sun","Mon","Tues","Wed","Thur","Fri","Sat"];res="";switch(type){case 0:case 1:case 2:if(week==0){res="日"}else{res=numToSimp(week);}
break;case 3:res=weekEng[week];break;}
return res;}
function getHours(type,hour){var hours=new Array();var i=0;switch(type){case 0:case 3:for(i=hour;i<24;i++){hours.push(i);}
for(i=0;i<hour;i++){hours.push(i);}
break;case 1:for(i=hour;i<24;i++){hours.push(numToSimp(i));}
for(i=0;i<hour;i++){hours.push(numToSimp(i));}
break;case 2:for(i=hour;i<24;i++){hours.push(numToTrad(i));}
for(i=0;i<hour;i++){hours.push(numToTrad(i));}
break;}
return hours;}
function getMinutes(type,minute){var minutes=new Array();var i=0;switch(type){case 0:case 3:for(i=minute;i<60;i++){minutes.push(i);}
for(i=0;i<minute;i++){minutes.push(i);}
break;case 1:for(i=minute;i<60;i++){minutes.push(numToSimp(i));}
for(i=0;i<minute;i++){minutes.push(numToSimp(i));}
break;case 2:for(i=minute;i<60;i++){minutes.push(numToTrad(i));}
for(i=0;i<minute;i++){minutes.push(numToTrad(i));}
break;}
return minutes;}
function getSeconds(type,second){var seconds=new Array();var i=0;switch(type){case 0:case 3:for(i=second;i<60;i++){seconds.push(i);}
for(i=0;i<second;i++){seconds.push(i);}
break;case 1:for(i=second;i<60;i++){seconds.push(numToSimp(i));}
for(i=0;i<second;i++){seconds.push(numToSimp(i));}
break;case 2:for(i=second;i<60;i++){seconds.push(numToTrad(i));}
for(i=0;i<second;i++){seconds.push(numToTrad(i));}
break;}
return seconds;}
function isShichen(hour){if(hour=="one h"||hour=="three h"||hour=="five h"||hour=="seven h"||hour=="nine h"||hour=="eleven h"||hour=="thirteen h"||hour=="fifteen h"||hour=="seventeen h"||hour=="nineteen h"||hour=="twentyone h"||hour=="twentythree h"||hour=="1时"||hour=="3时"||hour=="5时"||hour=="7时"||hour=="9时"||hour=="11时"||hour=="13时"||hour=="15时"||hour=="17时"||hour=="19时"||hour=="21时"||hour=="23时"||hour=="一时"||hour=="三时"||hour=="五时"||hour=="七时"||hour=="九时"||hour=="十一时"||hour=="十三时"||hour=="十五时"||hour=="十七时"||hour=="十九时"||hour=="二十一时"||hour=="二十三时"||hour=="壹时"||hour=="叁时"||hour=="伍时"||hour=="柒时"||hour=="玖时"||hour=="拾壹时"||hour=="拾叁时"||hour=="拾伍时"||hour=="拾柒时"||hour=="拾玖时"||hour=="贰拾壹时"||hour=="贰拾叁时"||hour=="1 h"||hour=="3 h"||hour=="5 h"||hour=="7 h"||hour=="9 h"||hour=="11 h"||hour=="13 h"||hour=="15 h"||hour=="17 h"||hour=="19 h"||hour=="21 h"||hour=="23 h"){return true;}
return false;}
function updateDays(type,year,month,day){var days=new Array();var j=1;var isLeap=isLeapYear(year);switch(type){case 0:case 3:for(j=day;j<=31;j++)
{days.push(j)
if(month==2&&isLeap&&j==29){break;}
if(month==2&&!isLeap&&j==28){break;}
if((month==2||month==4||month==6||month==9||month==11)&&j==30){break;}}
for(j=1;j<day;j++){days.push(j)}
break;case 1:for(j=1;j<=31;j++)
{days.push(numToSimp(j))
if(month==2&&isLeap&&j==29){break;}
if(month==2&&!isLeap&&j==28){break;}
if((month==2||month==4||month==6||month==9||month==11)&&j==30){break;}}
for(j=1;j<day;j++){days.push(numToSimp(j))}
break;case 2:for(j=1;j<=31;j++)
{days.push(numToTrad(j))
if(month==2&&isLeap&&j==29){break;}
if(month==2&&!isLeap&&j==28){break;}
if((month==2||month==4||month==6||month==9||month==11)&&j==30){break;}}
for(j=1;j<day;j++){days.push(numToTrad(j))}
break;}
return days;}
function getFirstDay(type){day=1;switch(type){case 1:day=numToSimp(day);break;case 2:day=numToTrad(day);break;}
return day;}
test.js
$(document).ready(function(){var style=document.styleSheets[0];type=config.language_type;space=getSpace(12,type);$(".main-content .month").css("left",space.month+'px');$(".main-content .day").css("left",space.day+'px');$(".main-content .week").css("left",space.week+'px');$(".main-content .shichen").css("left",space.shichen+'px');$(".main-content .hour").css("left",space.hour+'px');$(".main-content .minute").css("left",space.minute+'px');$(".main-content .second").css("left",space.second+'px');$("body").css("color",config.font_color);style.c***ules[4].style.color=config.pointer_color;if(config.sound)
{var ele="<audio controls loop autoplay><source src='sound/"+config.sound_name+"'></audio>"
$("body").append(ele);}
switch(config.background_style)
{case 0:var ele1="url('images/"+config.background_picture+"') fixed no-repeat"
$('body').css('background',ele1);$('body').css('background-size','100% 100%');break;case 1:$('body').append('<video loop autoplay muted><source src="video/'+config.background_video+'"></video>')
break;case 2:$('body').css('background',config.background_color);break;}
var monthLeft=$(".main-content .month").css("left");var dayLeft=$(".main-content .day").css("left");var weekLeft=$(".main-content .week").css("left");var shichenLeft=$(".main-content .shichen").css("left");var hourLeft=$(".main-content .hour").css("left");var minuteLeft=$(".main-content .minute").css("left");var secondLeft=$(".main-content .second").css("left");var top=$(".main-content .month").css("top");var yearLeft=$(".main-content .year span").width()/2;var Time={currentTime:{year:1970,month:1,day:1,hour:0,minute:0,second:0,week:0,shichen:{}},months:[],days:[],hours:[],minutes:[],seconds:[],shichens:[],weeks:[],hours:[],minutes:[],seconds:[],yearUnit:"年",monthUnit:"月",dayUnit:"日",weekUnit:"星期",hourUnit:"时",minuteUnit:"分",secondUnit:"秒"}
var month=Time.currentTime.month;var year=Time.currentTime.year;initTime(Time,type);$(".main-content .year").append("<span class='current'>"+Time.currentTime.year+Time.yearUnit+"</span>");var h=$(".year span").height();top=-(parseInt(top))-parseInt(h)/2;top+="px";$(".main-content .month").append("<span class='current'>"+Time.currentTime.month+Time.monthUnit+"</span>");$(".main-content .day").append("<span class='current'>"+Time.currentTime.day+Time.dayUnit+"</span>");$(".main-content .week").append("<span class='current'>"+Time.currentTime.week+"</span>");$(".main-content .shichen").append("<span class='current'>"+Time.currentTime.shichen.str+"</span>");$(".main-content .hour").append("<span class='current'>"+Time.currentTime.hour+Time.hourUnit+"</span>");$(".main-content .minute").append("<span class='current'>"+Time.currentTime.minute+Time.minuteUnit+"</span>");$(".main-content .second").append("<span class='current'>"+Time.currentTime.second+Time.secondUnit+"</span>");for(const key in Time.months){if(Time.months.hasOwnProperty(key)){const element=Time.months[key];if(element!=Time.currentTime.month){$(".main-content .month").append("<span>"+element+Time.monthUnit+"</span>");}}}
for(const key in Time.days){if(Time.days.hasOwnProperty(key)){const element=Time.days[key];if(element!=Time.currentTime.day){$(".main-content .day").append("<span>"+element+Time.dayUnit+"</span>");}}}
for(const key in Time.weeks){if(Time.weeks.hasOwnProperty(key)){const element=Time.weeks[key];if(element!=Time.currentTime.week){$(".main-content .week").append("<span>"+element+"</span>");}}}
for(const key in Time.shichens){if(Time.shichens.hasOwnProperty(key)){const element=Time.shichens[key];if(element!=Time.currentTime.shichen.str){$(".main-content .shichen").append("<span>"+element+"</span>");}}}
for(const key in Time.hours){if(Time.hours.hasOwnProperty(key)){const element=Time.hours[key];if(element!=Time.currentTime.hour){$(".main-content .hour").append("<span>"+element+Time.hourUnit+"</span>");}}}
for(const key in Time.minutes){if(Time.minutes.hasOwnProperty(key)){const element=Time.minutes[key];if(element!=Time.currentTime.minute){$(".main-content .minute").append("<span>"+element+Time.minuteUnit+"</span>");}}}
for(const key in Time.seconds){if(Time.seconds.hasOwnProperty(key)){const element=Time.seconds[key];if(element!=Time.currentTime.second){$(".main-content .second").append("<span>"+element+Time.secondUnit+"</span>");}}}
setTimeout(function(){$(".month span").each(function(index,element){$(element).css("animation","month"+index+" 1s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes month"+index+"{0%{transform: rotateZ(0);transform-origin: -"+monthLeft+" "+top+";}100%{transform:rotateZ("+-(360/12)*(index)+"deg);transform-origin: -"+monthLeft+" "+top+";}}",style.rules.length);});},0);setTimeout(function(){$(".day span").each(function(index,element){$(element).css("animation","day"+index+" 1s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes day"+index+"{0%{transform: rotateZ(0);transform-origin: -"+dayLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.days.length)*index+"deg);transform-origin: -"+dayLeft+" "+top+";}}",style.rules.length);});},1000);setTimeout(function(){$(".week span").each(function(index,element){$(element).css("animation","week"+index+" 1s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes week"+index+"{0%{transform: rotateZ(0);transform-origin: -"+weekLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.weeks.length)*index+"deg);transform-origin: -"+weekLeft+" "+top+";}}",style.rules.length);});},2000);setTimeout(function(){$(".shichen span").each(function(index,element){$(element).css("animation","shichen"+index+" 1s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes shichen"+index+"{0%{transform: rotateZ(0);transform-origin: -"+shichenLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.shichens.length)*index+"deg);transform-origin: -"+shichenLeft+" "+top+";}}",style.rules.length);});},3000);setTimeout(function(){$(".hour span").each(function(index,element){$(element).css("animation","hour"+index+" 1s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes hour"+index+"{0%{transform: rotateZ(0);transform-origin: -"+hourLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.hours.length)*index+"deg);transform-origin: -"+hourLeft+" "+top+";}}",style.rules.length);});},4000);setTimeout(function(){$(".minute span").each(function(index,element){$(element).css("animation","minute"+index+" 1s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes minute"+index+"{0%{transform: rotateZ(0);transform-origin: -"+minuteLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.minutes.length)*index+"deg);transform-origin: -"+minuteLeft+" "+top+";}}",style.rules.length);});},5000);setTimeout(function(){$(".second span").each(function(index,element){$(element).css("animation","second"+index+" 1s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes second"+index+"{0%{transform: rotateZ(0);transform-origin: -"+secondLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.seconds.length)*index+"deg);transform-origin: -"+secondLeft+" "+top+";}}",style.rules.length);});},6000);setTimeout(function(){$(".year span").css("animation","yearRun 1s linear infinite");style.insertRule("@keyframes yearRun {0%{transform: rotateZ(0);transform-origin: -"+yearLeft+" "+top+";}100%{transform:rotateZ(720deg);transform-origin: -"+yearLeft+" "+top+";}}",style.rules.length);$($(".main-content .second span")[0]).removeClass("current");$(".second span").each(function(index,element){$(element).css("animation","secondRun"+index+" 1s linear infinite");style.insertRule("@keyframes secondRun"+index+" {0%{transform: rotateZ(0);transform-origin: -"+secondLeft+" "+top+";}100%{transform:rotateZ("+((index+1)*720)+"deg);transform-origin: -"+secondLeft+" "+top+";}}",style.rules.length);});$($(".main-content .minute span")[0]).removeClass("current");$(".minute span").each(function(index,element){$(element).css("animation","minuteRun"+index+" 1s linear infinite");style.insertRule("@keyframes minuteRun"+index+" {0%{transform: rotateZ(0);transform-origin: -"+minuteLeft+" "+top+";}100%{transform:rotateZ("+((index+1)*720)+"deg);transform-origin: -"+minuteLeft+" "+top+";}}",style.rules.length);});$($(".main-content .hour span")[0]).removeClass("current");$(".hour span").each(function(index,element){$(element).css("animation","hourRun"+index+" 1s linear infinite");style.insertRule("@keyframes hourRun"+index+" {0%{transform: rotateZ(0);transform-origin: -"+hourLeft+" "+top+";}100%{transform:rotateZ("+((index+1)*720)+"deg);transform-origin: -"+hourLeft+" "+top+";}}",style.rules.length);});$($(".main-content .shichen span")[0]).removeClass("current");$(".shichen span").each(function(index,element){$(element).css("animation","shichenRun"+index+" 1s linear infinite");style.insertRule("@keyframes shichenRun"+index+" {0%{transform: rotateZ(0);transform-origin: -"+shichenLeft+" "+top+";}100%{transform:rotateZ("+((index+1)*720)+"deg);transform-origin: -"+shichenLeft+" "+top+";}}",style.rules.length);});$($(".main-content .week span")[0]).removeClass("current");$(".week span").each(function(index,element){$(element).css("animation","weekRun"+index+" 1s linear infinite");style.insertRule("@keyframes weekRun"+index+" {0%{transform: rotateZ(0);transform-origin: -"+weekLeft+" "+top+";}100%{transform:rotateZ("+((index+1)*720)+"deg);transform-origin: -"+weekLeft+" "+top+";}}",style.rules.length);});$($(".main-content .day span")[0]).removeClass("current");$(".day span").each(function(index,element){$(element).css("animation","dayRun"+index+" 1s linear infinite");style.insertRule("@keyframes dayRun"+index+" {0%{transform: rotateZ(0);transform-origin: -"+dayLeft+" "+top+";}100%{transform:rotateZ("+((index+1)*720)+"deg);transform-origin: -"+dayLeft+" "+top+";}}",style.rules.length);});$($(".main-content .month span")[0]).removeClass("current");$(".month span").each(function(index,element){$(element).css("animation","monthRun"+index+" 1s linear infinite");style.insertRule("@keyframes monthRun"+index+" {0%{transform: rotateZ(0);transform-origin: -"+monthLeft+" "+top+";}100%{transform:rotateZ("+((index+1)*720)+"deg);transform-origin: -"+monthLeft+" "+top+";}}",style.rules.length);});},7000);setTimeout(function(){var myDate=new Date();Time.currentTime.year=myDate.getFullYear();Time.currentTime.month=myDate.getMonth()+1;Time.currentTime.day=myDate.getDate();Time.currentTime.week=myDate.getDay();Time.currentTime.hour=myDate.getHours();Time.currentTime.minute=myDate.getMinutes();Time.currentTime.second=myDate.getSeconds();month=Time.currentTime.month;year=Time.currentTime.year;initTime(Time,type);$(".main-content .year").html("");$(".main-content .year").append("<span class='current'>"+Time.currentTime.year+Time.yearUnit+"</span>");$(".main-content .second").html("");$(".main-content .second").append("<span class='current'>"+Time.currentTime.second+Time.secondUnit+"</span>");for(const key in Time.seconds){if(Time.seconds.hasOwnProperty(key)){const element=Time.seconds[key];if(element!=Time.currentTime.second){$(".main-content .second").append("<span>"+element+Time.secondUnit+"</span>");}}}
$(".main-content .minute").html("");$(".main-content .minute").append("<span class='current'>"+Time.currentTime.minute+Time.minuteUnit+"</span>");for(const key in Time.minutes){if(Time.minutes.hasOwnProperty(key)){const element=Time.minutes[key];if(element!=Time.currentTime.minute){$(".main-content .minute").append("<span>"+element+Time.minuteUnit+"</span>");}}}
$(".main-content .hour").html("");$(".main-content .hour").append("<span class='current'>"+Time.currentTime.hour+Time.hourUnit+"</span>");for(const key in Time.hours){if(Time.hours.hasOwnProperty(key)){const element=Time.hours[key];if(element!=Time.currentTime.hour){$(".main-content .hour").append("<span>"+element+Time.hourUnit+"</span>");}}}
$(".main-content .shichen").html("");$(".main-content .shichen").append("<span class='current'>"+Time.currentTime.shichen.str+"</span>");for(const key in Time.shichens){if(Time.shichens.hasOwnProperty(key)){const element=Time.shichens[key];if(element!=Time.currentTime.shichen.str){$(".main-content .shichen").append("<span>"+element+"</span>");}}}
$(".main-content .week").html("");$(".main-content .week").append("<span class='current'>"+Time.currentTime.week+"</span>");for(const key in Time.weeks){if(Time.weeks.hasOwnProperty(key)){const element=Time.weeks[key];if(element!=Time.currentTime.week){$(".main-content .week").append("<span>"+element+"</span>");}}}
$(".main-content .day").html("");$(".main-content .day").append("<span class='current'>"+Time.currentTime.day+Time.dayUnit+"</span>");for(const key in Time.days){if(Time.days.hasOwnProperty(key)){const element=Time.days[key];if(element!=Time.currentTime.day){$(".main-content .day").append("<span>"+element+Time.dayUnit+"</span>");}}}
$(".main-content .month").html("");$(".main-content .month").append("<span class='current'>"+Time.currentTime.month+Time.monthUnit+"</span>");for(const key in Time.months){if(Time.months.hasOwnProperty(key)){const element=Time.months[key];if(element!=Time.currentTime.month){$(".main-content .month").append("<span>"+element+Time.monthUnit+"</span>");}}}},8000);setTimeout(function(){$(".second span").each(function(index,element){$(element).css("animation","second"+index+" 0s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes second"+index+"{0%{transform: rotateZ(0);transform-origin: -"+secondLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.seconds.length)*index+"deg);transform-origin: -"+secondLeft+" "+top+";}}",style.rules.length);});$(".minute span").each(function(index,element){$(element).css("animation","minute"+index+" 0s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes minute"+index+"{0%{transform: rotateZ(0);transform-origin: -"+minuteLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.minutes.length)*index+"deg);transform-origin: -"+minuteLeft+" "+top+";}}",style.rules.length);});$(".hour span").each(function(index,element){$(element).css("animation","hour"+index+" 0s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes hour"+index+"{0%{transform: rotateZ(0);transform-origin: -"+hourLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.hours.length)*index+"deg);transform-origin: -"+hourLeft+" "+top+";}}",style.rules.length);});$(".shichen span").each(function(index,element){$(element).css("animation","shichen"+index+" 0s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes shichen"+index+"{0%{transform: rotateZ(0);transform-origin: -"+shichenLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.shichens.length)*index+"deg);transform-origin: -"+shichenLeft+" "+top+";}}",style.rules.length);});$(".week span").each(function(index,element){$(element).css("animation","week"+index+" 0s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes week"+index+"{0%{transform: rotateZ(0);transform-origin: -"+weekLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.weeks.length)*index+"deg);transform-origin: -"+weekLeft+" "+top+";}}",style.rules.length);});$(".day span").each(function(index,element){$(element).css("animation","day"+index+" 0s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes day"+index+"{0%{transform: rotateZ(0);transform-origin: -"+dayLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.days.length)*index+"deg);transform-origin: -"+dayLeft+" "+top+";}}",style.rules.length);});$(".month span").each(function(index,element){$(element).css("animation","month"+index+" 0s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes month"+index+"{0%{transform: rotateZ(0);transform-origin: -"+monthLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.months.length)*index+"deg);transform-origin: -"+monthLeft+" "+top+";}}",style.rules.length);});},8000);setTimeout(function(){setInterval(run,1000)},8000)
var seci=1;var mini=1;var houri=1;var shicheni=1;var weeki=1;var dayi=1;var monthi=1;function run(){var next=$(".second span.current").next();if(next.text()==""){next=$(".second span").first();}
var secang1=6*(seci-1);var secang2=6*seci;$(".second").css("animation","secondRun"+seci+" 0.5s ease-in-out");$(".second").css("animation-fill-mode","forwards");style.insertRule("@keyframes secondRun"+seci+"{0%{transform: rotateZ("+secang1+"deg);transform-origin: -"+secondLeft+" "+top+";} 50%{transform:rotateZ("+(secang2+1)+"deg);transform-origin: -"+secondLeft+" "+top+";} 100%{transform:rotateZ("+secang2+"deg);transform-origin: -"+secondLeft+" "+top+";}}",style.rules.length);$(".second span.current").removeClass("current");next.addClass("current");seci++;if(seci>60){seci=1;}
var secText=$(".second span.current").text();if(secText=="0秒"||secText=="零秒"||secText=="0 s"){var minang1=6*(mini-1);var minang2=6*mini;var next=$(".minute span.current").next();if(next.text()==""){next=$(".minute span").first();}
$(".minute").css("animation","minuteRun"+mini+" 0.5s ease-in-out");$(".minute").css("animation-fill-mode","forwards");style.insertRule("@keyframes minuteRun"+mini+" {0%{transform: rotateZ("+minang1+"deg);transform-origin: -"+minuteLeft+" "+top+";} 100%{transform:rotateZ("+minang2+"deg);transform-origin: -"+minuteLeft+" "+top+";}}",style.rules.length);$(".minute span.current").removeClass("current");next.addClass("current");mini++;if(mini>60){mini=1;}}
var minText=$(".minute span.current").text();if((secText=="0秒"||secText=="零秒"||secText=="0 s")&&(minText=="0分"||minText=="零分"||minText=="0 m")){var hourang1=15*(houri-1);var hourang2=15*houri;var next=$(".hour span.current").next();if(next.text()==""){next=$(".hour span").first();}
$(".hour").css("animation","hourRun"+houri+" 0.5s ease-in-out");$(".hour").css("animation-fill-mode","forwards");style.insertRule("@keyframes hourRun"+houri+" {0%{transform: rotateZ("+hourang1+"deg);transform-origin: -"+hourLeft+" "+top+";} 100%{transform:rotateZ("+hourang2+"deg);transform-origin: -"+hourLeft+" "+top+";}}",style.rules.length);$(".hour span.current").removeClass("current");next.addClass("current");houri++;if(houri>24){houri=1;}}
var hourText=$(".hour span.current").text();if((secText=="0秒"||secText=="零秒"||secText=="0 s")&&(minText=="0分"||minText=="零分"||minText=="0 m")&&isShichen(hourText)){var shichenang1=30*(shicheni-1);var shichenang2=30*shicheni;var next=$(".shichen span.current").next();if(next.text()==""){next=$(".shichen span").first();}
$(".shichen").css("animation","shichenRun"+shicheni+" 0.5s ease-in-out");$(".shichen").css("animation-fill-mode","forwards");style.insertRule("@keyframes shichenRun"+shicheni+" {0%{transform: rotateZ("+shichenang1+"deg);transform-origin: -"+shichenLeft+" "+top+";} 100%{transform:rotateZ("+shichenang2+"deg);transform-origin: -"+shichenLeft+" "+top+";}}",style.rules.length);$(".shichen span.current").removeClass("current");next.addClass("current");shicheni++;if(shicheni>30){shicheni=1;}}
if((secText=="0秒"||secText=="零秒"||secText=="0 s")&&(minText=="0分"||minText=="零分"||minText=="0 m")&&(hourText=="0时"||hourText=="零时"||hourText=="0 h")){var weekang1=(360/7)*(weeki-1);var weekang2=(360/7)*weeki;var dayang1=(360/Time.days.length)*(dayi-1);var dayang2=(360/Time.days.length)*dayi;console.log(dayang1);var nextweek=$(".week span.current").next();var nextday=$(".day span.current").next();if(nextweek.text()==""){nextweek=$(".week span").first();}
if(nextday.text()==""){nextday=$(".day span").first();}
$(".week").css("animation","weekRun"+weeki+" 0.5s ease-in-out");$(".week").css("animation-fill-mode","forwards");style.insertRule("@keyframes weekRun"+weeki+" {0%{transform: rotateZ("+weekang1+"deg);transform-origin: -"+weekLeft+" "+top+";} 100%{transform:rotateZ("+weekang2+"deg);transform-origin: -"+weekLeft+" "+top+";}}",style.rules.length);$(".day").css("animation","dayRun"+dayi+" 0.5s ease-in-out");$(".day").css("animation-fill-mode","forwards");style.insertRule("@keyframes dayRun"+dayi+" {0%{transform: rotateZ("+dayang1+"deg);transform-origin: -"+dayLeft+" "+top+";} 100%{transform:rotateZ("+dayang2+"deg);transform-origin: -"+dayLeft+" "+top+";}}",style.rules.length);$(".week span.current").removeClass("current");nextweek.addClass("current");weeki++;if(weeki>7){weeki=1;}
$(".day span.current").removeClass("current");nextday.addClass("current");dayi++;if(dayi>Time.days.length){dayi=1;}}
var dayText=$(".day span.current").text();if((dayText=="1 day"||dayText==numToSimp(1)+"日"||dayText==numToTrad(1)+"日"||dayText=="1日")&&(secText=="0秒"||secText=="零秒"||secText=="0 s")&&(minText=="0分"||minText=="零分"||minText=="0 m")&&(hourText=="0时"||hourText=="零时"||hourText=="0 h")){var monthang1=30*(monthi-1);var monthang2=30*monthi;var next=$(".month span.current").next();if(next.text()==""){next=$(".month span").first();}
$(".month").css("animation","monthRun"+monthi+" 0.5s ease-in-out");$(".month").css("animation-fill-mode","forwards");style.insertRule("@keyframes monthRun"+monthi+" {0%{transform: rotateZ("+monthang1+"deg);transform-origin: -"+monthLeft+" "+top+";} 100%{transform:rotateZ("+monthang2+"deg);transform-origin: -"+monthLeft+" "+top+";}}",style.rules.length);month++;if(month>12)
{month=1;}
$(".day").html("");Time.days=updateDays(type,year,month,1);Time.currentTime.day=getFirstDay(type);$(".main-content .day").append("<span class='current'>"+Time.currentTime.day+Time.dayUnit+"</span>");for(const key in Time.days){if(Time.days.hasOwnProperty(key)){const element=Time.days[key];if(element!=Time.currentTime.day){$(".main-content .day").append("<span>"+element+Time.dayUnit+"</span>");}}}
$(".day span").each(function(index,element){$(element).css("animation","day"+index+" 0.5s linear");$(element).css("animation-fill-mode","forwards");style.insertRule("@keyframes day"+index+"{0%{transform: rotateZ(0);transform-origin: -"+dayLeft+" "+top+";}100%{transform:rotateZ("+-(360/Time.days.length)*(index+1)+"deg);transform-origin: -"+dayLeft+" "+top+";}}",style.rules.length);});$(".month span.current").removeClass("current");next.addClass("current");monthi++;if(monthi>12){monthi=1;}}
if(month==1&&(dayText=="1 day"||dayText==numToSimp(1)+"日"||dayText==numToTrad(1)+"日"||dayText=="1日")&&(secText=="0秒"||secText=="零秒"||secText=="0 s")&&(minText=="0分"||minText=="零分"||minText=="0 m")&&(hourText=="0时"||hourText=="零时"||hourText=="0 h")){year++;Time.currentTime.year=getYear(type,year);$(".year span").html(getYear(type,year)+Time.yearUnit);}}});function initTime(Time,type){switch(type){case 0:Time.months=getMonths(0,Time.currentTime.month);Time.days=getdays(0,Time.currentTime.year,Time.currentTime.month,Time.currentTime.day);Time.weeks=getWeeks(0,Time.currentTime.week);Time.hours=getHours(0,Time.currentTime.hour);Time.minutes=getMinutes(0,Time.currentTime.minute);Time.seconds=getSeconds(0,Time.currentTime.second);Time.currentTime.week=Time.weekUnit+getWeek(0,Time.currentTime.week);Time.currentTime.shichen=getShiChen(0,Time.currentTime.hour);Time.shichens=getShiChens(0,Time.currentTime.shichen);break;case 1:Time.months=getMonths(1,Time.currentTime.month);Time.days=getdays(1,Time.currentTime.year,Time.currentTime.month,Time.currentTime.day);Time.weeks=getWeeks(1,Time.currentTime.week);Time.hours=getHours(1,Time.currentTime.hour);Time.minutes=getMinutes(1,Time.currentTime.minute);Time.seconds=getSeconds(1,Time.currentTime.second);Time.currentTime.month=numToSimp(Time.currentTime.month);Time.currentTime.day=numToSimp(Time.currentTime.day);Time.currentTime.week=Time.weekUnit+getWeek(1,Time.currentTime.week);Time.currentTime.shichen=getShiChen(1,Time.currentTime.hour);Time.shichens=getShiChens(1,Time.currentTime.shichen);Time.currentTime.hour=numToSimp(Time.currentTime.hour);Time.currentTime.minute=numToSimp(Time.currentTime.minute);Time.currentTime.second=numToSimp(Time.currentTime.second);Time.currentTime.year=getYear(1,Time.currentTime.year);break;case 2:Time.months=getMonths(2,Time.currentTime.month);Time.days=getdays(2,Time.currentTime.year,Time.currentTime.month,Time.currentTime.day);Time.weeks=getWeeks(2,Time.currentTime.week);Time.hours=getHours(2,Time.currentTime.hour);Time.minutes=getMinutes(2,Time.currentTime.minute);Time.seconds=getSeconds(2,Time.currentTime.second);Time.currentTime.month=numToTrad(Time.currentTime.month);Time.currentTime.day=numToTrad(Time.currentTime.day);Time.currentTime.week=Time.weekUnit+getWeek(2,Time.currentTime.week);Time.currentTime.shichen=getShiChen(2,Time.currentTime.hour);Time.shichens=getShiChens(2,Time.currentTime.shichen);Time.currentTime.hour=numToTrad(Time.currentTime.hour);Time.currentTime.minute=numToTrad(Time.currentTime.minute);Time.currentTime.second=numToTrad(Time.currentTime.second);Time.currentTime.year=getYear(2,Time.currentTime.year);break;case 3:Time.months=getMonths(3,Time.currentTime.month);Time.days=getdays(0,Time.currentTime.year,Time.currentTime.month,Time.currentTime.day);Time.weeks=getWeeks(3,Time.currentTime.week);Time.hours=getHours(3,Time.currentTime.hour);Time.minutes=getMinutes(3,Time.currentTime.minute);Time.seconds=getSeconds(3,Time.currentTime.second);Time.currentTime.month=getMonthEng(Time.currentTime.month);Time.currentTime.week=getWeek(3,Time.currentTime.week);Time.currentTime.shichen=getShiChen(3,Time.currentTime.hour);Time.shichens=getShiChens(3,Time.currentTime.shichen);Time.monthUnit="";Time.dayUnit=" day"
Time.weekUnit=""
Time.hourUnit=" h"
Time.minuteUnit=" m"
Time.secondUnit=" s"
Time.yearUnit=" Year"
break;}}
function getSpace(fontSize,type)
{space={month:0,day:0,week:0,shichen:0,hour:0,minute:0,second:0}
switch(type){case 0:space.month=30;space.day=65;space.week=100;space.shichen=150;space.hour=230;space.minute=270;space.second=310;break;case 1:space.month=40;space.day=85;space.week=145;space.shichen=192;space.hour=232;space.minute=292;space.second=355;break;case 2:space.month=40;space.day=85;space.week=145;space.shichen=190;space.hour=230;space.minute=290;space.second=350;break;case 3:space.month=40;space.day=75;space.week=125;space.shichen=160;space.hour=255;space.minute=295;space.second=335;break;}
return space;}
config.js
var config={'language_type':2,'font_color':'#7F7F7F','pointer_color':'#000000',}
来源:51CTO
作者:朱柿子
链接:https://blog.51cto.com/14744108/2484184