抖音超火的罗马时钟

* {

margin: 0;

padding: 0

}

html,

body {

width: 100%;

height: 100%;

background-color: #000;

overflow: hidden

}

#clock {

position: relative;

width: 100%;

height: 100%;

background: #000

}

.label {

display: inline-block;

color: #4d4d4d;

text-align: center;

padding: 0 5px;

font-size: 19px;

transition: left 1s, top 1s;

transform-origin: 0% 0%

}

var monthText = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"];

var dayText = ["一号", "二号", "三号", "四号", "五号", "六号", "七号", "八号", "九号", "十号", "十一号", "十二号", "十三号", "十四号", "十五号", "十六号",

"十七号", "十八号", "十九号", "二十号", "二十一号", "二十二号", "二十三号", "二十四号", "二十五号", "二十六号", "二十七号", "二十八号", "二十九号", "三十号",

"三十一号"

];

var weekText = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];

var hourText = ["零点", "一点", "两点", "三点", "四点", "五点", "六点", "七点", "八点", "九点", "十点", "十一点", "十二点", "十三点", "十四点", "十五点",

"十六点", "十七点", "十八点", "十九点", "二十点", "二十一点", "二十二点", "二十三点"

];

var minuteText = ["一分", "二分", "三分", "四分", "五分", "六分", "七分", "八分", "九分", "十分", "十一分", "十二分", "十三分", "十四分", "十五分", "十六分",

"十七分", "十八分", "十九分", "二十分", "二十一分", "二十二分", "二十三分", "二十四分", "二十五分", "二十六分", "二十七分", "二十八分", "二十九分", "三十分",

"三十一分", "三十二分", "三十三分", "三十四分", "三十五分", "三十六分", "三十七分", "三十八分", "三十九分", "四十分", "四十一分", "四十二分", "四十三分", "四十四分",

"四十五分", "四十六分", "四十七分", "四十八分", "四十九分", "五十分", "五十一分", "五十二分", "五十三分", "五十四分", "五十五分", "五十六分", "五十七分", "五十八分",

"五十九分", "六十分"

];

var secondsText = ["一秒", "二秒", "三秒", "四秒", "五秒", "六秒", "七秒", "八秒", "九秒", "十秒", "十一秒", "十二秒", "十三秒", "十四秒", "十五秒", "十六秒",

"十七秒", "十八秒", "十九秒", "二十秒", "二十一秒", "二十二秒", "二十三秒", "二十四秒", "二十五秒", "二十六秒", "二十七秒", "二十八秒", "二十九秒", "三十秒",

"三十一秒", "三十二秒", "三十三秒", "三十四秒", "三十五秒", "三十六秒", "三十七秒", "三十八秒", "三十九秒", "四十秒", "四十一秒", "四十二秒", "四十三秒", "四十四秒",

"四十五秒", "四十六秒", "四十七秒", "四十八秒", "四十九秒", "五十秒", "五十一秒", "五十二秒", "五十三秒", "五十四秒", "五十五秒", "五十六秒", "五十七秒", "五十八秒",

"五十九秒", "六十秒"

];

var clock;

var monthList = [];

var dayList = [];

var weekList = [];

var hourList = [];

var minuteList = [];

var secondsList = [];

var isCircle = false;

var textSet = [

[monthText, monthList],

[dayText, dayList],

[weekText, weekList],

[hourText, hourList],

[minuteText,

minuteList

],

[secondsText, secondsList]

];

window.onload = function() {

init();

setInterval(function() {

runTime();

}, 100);

changePosition();

setTimeout(function() {

changeCircle();

}, 2000);

}

function init() {

clock = document.getElementById('clock');

for(var i = 0; i < textSet.length; i++) {

for(var j = 0; j < textSet[i][0].length; j++) {

var temp = createLabel(textSet[i][0][j]);

clock.appendChild(temp);

textSet[i][1].push(temp);

}

}

}

function createLabel(text) {

var div = document.createElement('div');

div.classList.add('label');

div.innerText = text;

return div;

}

function runTime() {

var now = new Date();

var month = now.getMonth();

var day = now.getDate();

var week = now.getDay();

var hour = now.getHours();

var minute = now.getMinutes();

var seconds = now.getSeconds();

initStyle();

var nowValue = [month, day - 1, week, hour, minute, seconds];

for(var i = 0; i < nowValue.length; i++) {

var num = nowValue[i];

textSet[i][1][num].style.color = '#fff';

}

if(isCircle) {

var widthMid = document.body.clientWidth / 2;

var heightMid = document.body.clientHeight / 2;

for(var i = 0; i < textSet.length; i++) {

for(var j = 0; j < textSet[i][0].length; j++) {

var r = (i + 1) * 35 + 50 * i;

var deg = 360 / textSet[i][1].length * (j - nowValue[i]);

var x = r * Math.sin(deg * Math.PI / 180) + widthMid;

var y = heightMid - r * Math.cos(deg * Math.PI / 180);

var temp = textSet[i][1][j];

temp.style.transform = 'rotate(' + (-90 + deg) + 'deg)';

temp.style.left = x + 'px';

temp.style.top = y + 'px';

}

}

}

}

function initStyle() {

var label = document.getElementsByClassName('label');

for(var i = 0; i < label.length; i++) {

label[i].style.color = '#4d4d4d';

}

}

function changePosition() {

for(let i = 0; i < textSet.length; i++) {

for(let j = 0; j < textSet[i][1].length; j++) {

let tempX = textSet[i][1][j].offsetLeft + "px";

let tempY = textSet[i][1][j].offsetTop + "px";

setTimeout(function() {

textSet[i][1][j].style.position = "absolute";

textSet[i][1][j].style.left = tempX;

textSet[i][1][j].style.top = tempY;

}, 50);

}

}

}

function changeCircle() {

isCircle = true;

clock.style.transform = "rotate(90deg)";

}

抖音超火的罗马时钟html代码,抖音罗马时钟代码实现 · Issue #2 · 424363283/accumulate · GitHub...相关推荐

  1. 抖音超火的罗盘时钟效果

    抖音超火的罗盘时钟 利用原生js,实现的罗盘时钟效果 实现效果 实现思路 将数字摆成圆环 获取当前时间,让圆环旋转一定的角度,转到水平位置 将当前时间变亮 实现的思路还是很简单的,但是在过程中会有很多 ...

  2. HTML5七夕情人节表白网页(抖音超火3D炫酷魔方) HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白

    HTML5七夕情人节表白网页❤抖音超火❤3D炫酷魔方❤ HTML+CSS+JavaScript 求婚示爱代码 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白 这是程序 ...

  3. 抖音最火html表白代码,抖音超火表白

    喜欢的姑娘玩抖音,那你可能没用过抖音表白代码,有了抖音超火表白代码 就可以让女神同意和你交往啦,虽然只是恶搞小软件,但是没准就碰到爱你的女孩儿了呢,抖音超火表白代码可能解决你的单身问题呢. 抖音表白源 ...

  4. HTML5七夕情人节表白网页抖音超火的樱花雨3D相册 HTML+CSS+JavaScript

    HTML5七夕情人节表白网页????抖音超火的樱花雨3D相册???? HTML+CSS+JavaScript 这是程序员表白系列中的100款网站表白之一,旨在让任何人都能使用并创建自己的表白网站给心爱 ...

  5. HTML+CSS+JavaScript 制作抖音超火圣诞树

    HTML+CSS+JavaScript 制作抖音超火-圣诞树 视频演示 圣诞树代码 效果图 HTML <body marginwidth="0" marginheight=& ...

  6. 抖音超火的小空调源码

    抖音超火的小空调源码 夏日里的一丝凉风- 源码非常简单,没什么好说的 代码下载: index.html <!DOCTYPE html> <html lang="en&quo ...

  7. 抖音超火3D相册——魔方版(肖战壁纸图片)

    抖音超火3D相册--魔方版(肖战壁纸图片) 闲来无事,写了一个HTML5和CSS的肖战3D相册,以下奉上效果图和源代码. (PS:鼠标触碰可以显示内层六面体照片,拖动图片可以保存图片至本地.) 效果图 ...

  8. java设计九宫格拼图软件哪个好用_抖音超火的朋友圈九宫格用什么软件做的? 抖音九宫格图片制作教程...

    抖音这种朋友圈九宫格用什么软件做的?最近,在抖音刷到好多这种九宫格的朋友圈截图,请问是怎么做的?突然火起来的抖音朋友圈九宫格,脚本之家小编也发现这样发朋友圈真的很好看也很有意思,特别是出去玩或者旅游拍 ...

  9. html插入flash时钟,自制FLASH时钟代码生成器和flash音画html代码在线生成器

    使用步骤: 01)喜欢听什么歌或想在自己的动画上加放什么歌,用百度等网站搜索下,拿到MP3歌曲地址贴到最上面歌曲地址栏里,这样第一步加歌就OK了! 注:标准地址应该是http://开头,mp3结尾的那 ...

最新文章

  1. 《中国顶尖技术团队访谈录·第二季》发布
  2. linux批量管理矿机,华硕最新的挖矿主机板可以一次控制 20 个 GPU
  3. 计算机jsp外文文献,计算机 JSP web 外文翻译 外文文献 英文文献
  4. python编程课程上课有用吗-朋友圈里的编程课,是 Python 还是成功学?
  5. python填充空值_Python机器学习(九十一)Pandas 填充(Imputation)空值
  6. java-transaction事件
  7. MacOS下IDEA设置智能提示不区分大小写
  8. linux mysql查看所有表_Linux之系统操作命令
  9. 用Java实现邮件的发送
  10. java 正则表达式 compile_JAVA 正则表达式
  11. Minio过期分片上传文件清理引出的系统配置
  12. C语音 unsigned char, int的取值范围
  13. 聚焦存储即平台,浪潮存储迎来发展新机遇
  14. 计算机专业大学毕业找不到工作,再去Java培训机构学习可靠吗?
  15. c语言实现去除字符串中空格
  16. 如何判断用户是否为第一次进入app或者是第一次进入指定页面
  17. 快速fcm matlab,FCM的MATLAB实现
  18. android 图片压缩,bitmap压缩总结
  19. ES初探之——shard和replica
  20. C和指针 第5章 操作符和表达式 5.1 操作符

热门文章

  1. Python玩转大数据-张敏-专题视频课程
  2. Microsoft Word 教程:如何在 Word 中检查语法、拼写?
  3. 【基础】——HTML VS Web窗体
  4. 【QA答疑】VRay3.4 for SketchUp2017 渲染参数设置
  5. 带电动自行车电池的嵌入式 GaN 充电器
  6. 软件工程概论第一个冲刺周期
  7. 一个拖拽卡顿问题引发出对setTimeOut的探索
  8. 【Syslinux Grub Grub2】万能优盘启动盘 (WinPE、LinuxPE)-- 方法2 U盘ISO写入(推荐)
  9. Procreate基础视频教程
  10. 雷军主题演讲:未来10年是移动互联网的天下