主要用到原生态的 JS+CSS3。


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>html{background: #000;color: #666;font-size: 12px;overflow:hidden;}*{margin: 0;padding: 0;}span{display: block;float: left;}.on{color: #fff;}.wrapper{width: 200px;height: 200px;position: absolute;left:50%;top:50%;margin-top: -100px;margin-left: -100px;}.wrapper .timebox{position: absolute;width: 200px;height: 200px;top: 0;left:0;border-radius: 100%;transition: all 0.5s;}.timebox span{transition: all 0.5s;float: left;}.wrapper  .timebox span{position: absolute;left:50%;top:50%;width: 40px;height: 18px;margin-top: -9px;margin-left: -20px;text-align: right;}</style>
</head>
<body><div id="wrapper"><div class="timebox yuebox" id="yueBox"></div><div class="timebox riqiBox" id="riqiBox"></div><div class="timebox hourbox" id="hourbox"></div><div class="timebox minutebox" id="minutebox"></div><div class="timebox secondbox" id="secondbox"></div>
</div><script>let wrapper = document.getElementById("wrapper");let yueBox = document.getElementById("yueBox");let riqiBox = document.getElementById("riqiBox");let hourbox = document.getElementById("hourbox");let minutebox = document.getElementById("minutebox");let secondbox = document.getElementById("secondbox");/** 找所有的东西标签函数* */let findSiblings = function( tag ){let parent = tag.parentNode;let childs = parent.children;let sb = [];for(let i=0 ; i <= childs.length-1 ; i++){if( childs[i]!==tag){sb[sb.length] = childs[i];}}return  sb ;};/** 去掉所有兄弟的类* */let removeSiblingClass =function( tag ){let sb = findSiblings( tag );for(let i=0 ;  i <= sb.length-1 ; i++){sb[i].className = "";}};/** 初始化月份函数* */let initMonth = function(){for(let i=1; i<=12; i++){let span = document.createElement("span");span.innerHTML = i+"月";yueBox.appendChild( span );}};// 初始化日期let initDate = function(){for(let i=1; i<=31; i++){let span = document.createElement("span");span.innerHTML = i+"日";riqiBox.appendChild( span );}};// 初始化小时,分钟,秒let initHour = function(){for(let i=0; i<=23; i++){let h = i ;let span = document.createElement("span");if( h<10){h="0"+h;}span.innerHTML = h +"点";hourbox.appendChild( span );}};let initMinute = function(){for(let i=0; i<=59; i++){let  f = i ;let span = document.createElement("span");if( f<10){f="0"+f;}span.innerHTML = f +"分";minutebox.appendChild( span );}};let initSecond = function(){for(let i=0; i<=59; i++){let  miao = i ;let span = document.createElement("span");if( miao<10){miao="0"+miao;}span.innerHTML = miao +"秒";secondbox.appendChild( span );}};// 时间文字样式切换函数let changeTime = function(tag){tag.className = "on";removeSiblingClass( tag );};/** 初始化日历函数* */let initRili = function(){initMonth(); // 初始化月份initDate(); // 初始化日期initHour(); // 小时initMinute();initSecond();};/** 展示当前时间* 参数:mydate 时间对象* */let  showNow = function( mydate ){let yue = mydate.getMonth() ;let riqi = mydate.getDate();let hour = mydate.getHours()  ;let minute = mydate.getMinutes();let second = mydate.getSeconds();// 时间文字样式切换函数changeTime( yueBox.children[yue] );changeTime( riqiBox.children[riqi-1] );changeTime( hourbox.children[hour] );changeTime( minutebox.children[minute] );changeTime( secondbox.children[second] );};// 展示时间圆圈函数// tag:目标// num:数字数量// dis:圆圈半径let textRound = function(tag,num,dis){let span = tag.children ;for(let i=0 ; i<=span.length-1; i++){span[i].style.transform="rotate("+ (360/span.length)*i+"deg)  translateX("+dis+"px)" ;}};/** 旋转指定“圆圈”指定度数* */let rotateTag = function(tag , deg){tag.style.transform = "rotate("+deg+"deg)";};let main = function(){initRili(); // 初始化日历setInterval(function(){let mydate = new Date();showNow( mydate ); // 展示当前时间},1000);//  n秒后,摆出圆形setTimeout(function(){wrapper.className = "wrapper";textRound(yueBox,12,40);textRound(riqiBox,31,80);textRound(hourbox,24,120);textRound(minutebox,60,160);textRound(secondbox,60,200);setInterval(function(){let mydate = new Date();rotateTag( yueBox , -30*mydate.getMonth());rotateTag( riqiBox , -360/31*(mydate.getDate()-1) );rotateTag( hourbox , -360/24*mydate.getHours());rotateTag( minutebox , -6*mydate.getMinutes());rotateTag( secondbox , -6*mydate.getSeconds());},1000)},1000)};main();</script></body>
</html>

时钟是动态的显示,定时器设置的时间是1s后,摆出图形,特别好看。

可以将html作为动态壁纸,评论点赞私我,发教程。

前端实现炫酷动感时钟特效相关推荐

  1. 给页面写一个炫酷的时钟特效【web前端】

    文章目录 一.前言 二.想法设计/实现过程 三.基本样式 四.时间函数控制器 五,时,分,秒占位 六.时间动态填充 一.前言 今天看到某网站的时间特别的丑陋,所以就诞生了写一个看时间的炫酷的时钟前端页 ...

  2. 基于html+css3酷炫动态罗盘时钟特效

    基于html+css3酷炫动态罗盘时钟特效 1.网页作品简介方面 :基于css3属性制作酷炫的圆形罗盘时钟,酷炫动态时钟特效,获取当前本地时间设置. 2.网页作品编辑方面:作品下载后可使用任意HTML ...

  3. H5炫酷特效系列4——炫酷粒子变化特效

    这个示例虽然没有相对比较实用的特性,但是表现出来的效果确实非常震撼眼球.先上效果图,让各位同胞感受一下: 特效的表现感很强,有兴趣的读者可以仔细学习一下下面的代码,尝试着理解其中的逻辑. <!D ...

  4. html5星空效果图,HTML5 canvas炫酷星空背景特效

    jquery-warpdrive-plugin是一款可以制作基于HTML5 canvas的炫酷星空背景特效的jquery插件.这个星空背景特效可通过配置参数进行灵活的配置,可用鼠标进行互动. 使用方法 ...

  5. 【CSS3】CSS3动画——我离前端的炫酷又近了一步

    [CSS3]CSS3动画--我离前端的炫酷又近了一步 博客说明 文章所涉及的部分资料来自互联网整理,当然还有自己个人的总结和看法,分享的目的在于共建社区和巩固自己.引用的资料如有侵权,请联系本人删除! ...

  6. 炫酷的动画特效—css3旋转立方球体

    炫酷的动画特效-css3旋转立方球体 想要实现旋转立方球体特效,以下的内容你不容错过. 要理解的知识点 形成一个3D空间: transform-style:preserve-3d (让父元素形成3D, ...

  7. 【CSS3】CSS3动画——前端的炫酷

    [CSS3]CSS3动画--前端的炫酷 博客说明 文章所涉及的部分资料来自互联网整理,当然还有自己个人的总结和看法,分享的目的在于共建社区和巩固自己.引用的资料如有侵权,请联系本人删除!幸好我在,感谢 ...

  8. 需要个钟吗?教你制作一个简单又炫酷的时钟

    制作时钟之前我们先要去了解一下JaveScript中的Date(日期)对象和计时器.这样我们就可以正确显示时间.然后一些炫酷部分就是HTML+CSS动画了. 话不多说,直接看代码吧. 1.首先把我们要 ...

  9. 制作炫酷AR卡片特效——小技巧

    制作炫酷AR卡片特效--小技巧 本帖最后由 仅为年时 于 2016-7-9 08:28 编辑 gif展示.gif (2.82 MB, 下载次数: 11) 下载附件  保存到相册 2016-7-9 01 ...

最新文章

  1. 研究人员提出增强Wi-Fi传输的新方法
  2. php 屏蔽ip段,php禁止ip段的方法
  3. DSP、ARM和单片机的区别
  4. javascript中的setTimeout() 方法和clearInterval() 方法和setInterval() 方法
  5. 摩尔投票法(力扣- -229. 求众数 II)
  6. 使用PuTTY、Xshell远程连接Linux,密钥认证连接
  7. Swift 中的设计模式 #3 外观模式与适配器模式
  8. Sublime中查找重复行的正则表达式
  9. oppok1刷原生android10,OPPOK1系统升级最新ColorOSV6刷机包(完整固件rom下载ColorOSV6安卓9.0)...
  10. SpringBoot使用@Transactional
  11. c语言 整数除以分数,2019年六年级数学上册 3.1分数除法(第1课时)分数除法的意义和整数除以分数练习题 新人教版 (I).doc...
  12. 在计算机系统软件中核心软件,在计算机系统软件中的核心软件是()
  13. Pandas系列(二)查询数据
  14. lucene 多字段查询-MultiFieldQueryParser
  15. Xshell官网免费版下载实用
  16. ITU-R BT.2020
  17. 【mcuclub】温度传感器DS18B20
  18. 快速查毒及电脑防毒的解决方案
  19. c语言数组统计选票,C语言实现选票统计
  20. 英文单词搜索之词霸搜索

热门文章

  1. 维护采购订单审批的特性Characteristic和类Class
  2. springboot集成graphql(一)
  3. XSS、CSRF攻击以及预防手段
  4. CentOS6.8 切换桌面模式与命令行模式
  5. 软考中计算机软件考什么,计算机软考要考什么
  6. 指纹算法中控 X638考勤机编程(delphi)
  7. gl linux qt 库_Linux下Qt应用程序的发布(使用LDD命令查看所有依赖的库文件)
  8. 思域第三方app安装方法(提权)
  9. fiddler抓取谷歌浏览器的包_fiddler抓不到chrome浏览器的请求
  10. 笔记本电脑没有WiFi选项 解决办法