js+css3实现炫酷时钟


Posted in Javascript onAugust 18, 2020

本文实例为大家分享了js+css3实现炫酷时钟的具体代码,供大家参考,具体内容如下

html

<body>
    <ul id='box'></ul>
</body>

css

<style>
      *{
        margin: 0;
        padding: 0;
      }
      body{
        background-color: #aaa;
      }
      ul{
        width: 400px;
        height: 400px;
        border: 5px solid skyblue;
        margin: 100px auto 0 auto;
        border-radius: 50%;
         background: radial-gradient(green 50%, yellow 100%);;
        position: relative;

      }
      ul li{
        width: 2px;
        height: 15px;
        list-style: none;
        background-color: #fff;
        position: absolute;
        left: 199px;
        transform-origin: center 200px;
      }

      h1{
        width: 2px;
        height: 180px;
        background-color: orange;
        position: absolute;
        left: 199px;
        top:20px;
        -transition: 1s linear;
        transform-origin: center 180px;
      }
      h2{
        width: 6px;
        height: 160px;
        background-color: #fff;
        position: absolute;
        left: 197px;
        top:40px;
        transform-origin: center 160px;
        border-radius:20%;
      }

      h3{
        width: 8px;
        height: 140px;
        background-color: #fff;
        position: absolute;
        left: 196px;
        top:60px;
        transform-origin: center 140px;
        transform: rotate(0deg);
        border-radius: 20%;
      }
      h4{
        width: 30px;
        height: 30px;
        position: absolute;
        left: 185px;
        top:185px;
        border-radius: 50%;
        background-color: orange;
      }

      span{
        display: inline-block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        text-align: center;
        font-size: 24px;
        position: absolute;
        left: -10px;
        top: 28px;
        color: #fff;
      }

</style>

js

(function(){
      var oUl=document.getElementById('box');
      var timer=null;
      for(var i=0,j=0;i<60;i++,j+=6){
        var oLi=document.createElement('li');
        oLi.style.transform='rotate('+j+'deg)';
        if(i%5==0){
          oLi.style.height='20px';
          var oSpan=document.createElement('span');
          oSpan.style.transform='rotate('+(-j)+'deg)';
          if(i==0){
            oSpan.innerHTML='12';
            oSpan.style.fontSize='30px';
            oSpan.style.left='-17px';
          }else{
            oSpan.innerHTML=parseInt(i/5);
            if(i%15==0){
              oSpan.style.fontSize='36px';
            }
          }
          oLi.appendChild(oSpan);
        }
        if(i==0){
          var oH1=document.createElement('h1');
          var oH2=document.createElement('h2');
          var oH3=document.createElement('h3');
          var oH4=document.createElement('h4');
          oUl.appendChild(oH1);
          oUl.appendChild(oH2);
          oUl.appendChild(oH3);
          oUl.appendChild(oH4);
        }
        oUl.appendChild(oLi);
      }
      var oH=document.getElementsByTagName('h3')[0];
      var oM=document.getElementsByTagName('h2')[0];
      var oS=document.getElementsByTagName('h1')[0];
      timer=setInterval(function(){
         var now = new Date();
         var s=now.getSeconds();
         var m=now.getMinutes()+s/60;
         var h=now.getHours()+m/60;
         oS.style.transform='rotate('+s*6+'deg)';
         oM.style.transform='rotate('+m*6+'deg)';
         oH.style.transform='rotate('+(h%12)*30+'deg)';
      },30);

    })();

作品截图

js+css3实现炫酷时钟

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 直接操作本地文件的实现代码
Dec 01 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
跟我学习javascript的this关键字
May 28 Javascript
javascript实现无法关闭的弹框
Nov 27 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
vue-cli实现多页面多路由的示例代码
Jan 30 Javascript
JS数组去重的6种方法完整实例
Dec 08 Javascript
详解react组件通讯方式(多种)
May 06 Javascript
uniapp实现可以左右滑动导航栏
Oct 21 Javascript
React服务端渲染原理解析与实践
Mar 04 Javascript
纯js+css实现在线时钟
Aug 18 #Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 #Javascript
js+css实现扇形导航效果
Aug 18 #Javascript
js实现3D旋转效果
Aug 18 #Javascript
Vue elementui字体图标显示问题解决方案
Aug 18 #Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
Aug 18 #Javascript
javascript实现移动端上传图片功能
Aug 18 #Javascript
You might like
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
将OICQ数据转成MYSQL数据
2006/10/09 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
php基于协程实现异步的方法分析
2019/07/17 PHP
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
Vuex提升学习篇
2018/01/11 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
python制作朋友圈九宫格图片
2019/11/03 Python
Python实现数值积分方式
2019/11/20 Python
如何使用python切换hosts文件
2020/04/29 Python
教师求职推荐信范文
2013/11/20 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery