利用html5,css实现钟摆效果 ,在项目中经常会遇到,今天小编把基于HTML5+CSS3实现简单的时钟效果的实现代码分享到脚本之家平台,需要的额朋友参考下吧

目的:

利用html5,css实现钟摆效果

知识点:

1) 利用position/left/top和calc()实现元素的水平和垂直居中;

2) 利用CSS3的animation/transform/transform-origin属性定义动画;

3) 利用transform-origin实现旋转原点的圆心调整

废话不多说了,直接看代码吧,具体代码如下所示:

li{

list-style:none;

}

#box{

width: 400px;

height: 400px;

position: absolute;

top:calc(50% - 200px);

left:calc(50% - 200px);

border: 2px solid palegoldenrod;

}

#dial{

width: 200px;

height: 200px;

position: absolute;

top:calc(50% - 100px);

left:calc(50% - 100px);

border: 2px solid cyan;

border-radius: 50%;

}

.scaleIndex{

width: 4px;

height: 12px;

position: absolute;

top: 0;

left: calc(50% - 2px);

background-color: gray;

transform-origin: 2px 100px;

}

.angle30{transform : rotate(30deg);}

.angle60{transform : rotate(60deg);}

.angle90{transform : rotate(90deg);}

.angle120{transform : rotate(120deg);}

.angle150{transform : rotate(150deg);}

.angle180{transform : rotate(180deg);}

.angle210{transform : rotate(210deg);}

.angle240{transform : rotate(240deg);}

.angle270{transform : rotate(270deg);}

.angle300{transform : rotate(300deg);}

.angle330{transform : rotate(330deg);}

#fixPoint{

width: 10px;

height: 10px;

position: absolute;

top:calc(50% - 5px);

left:calc(50% - 5px);

background-color: cadetblue;

border-radius: 50%;

}

#hourHand{

width: 6px;

height: 70px;

position:absolute;

top: 40px;

left: calc(50% - 3px);

background-color: darkblue;

transform-origin: 50% 60px;

}

#minuteHand{

width: 4px;

height: 75px;

position:absolute;

top: 35px;

left: calc(50% - 2px);

background-color: yellow;

transform-origin: 50% 65px;

}

#secondHand{

width: 2px;

height: 90px;

position:absolute;

top: 20px;

left: calc(50% - 1px);

background-color: red;

transform-origin: 50% 80px;

}

window.onload = function(){

var hourHand = document.getElementById('hourHand');

var minuteHand = document.getElementById('minuteHand');

var secondHand = document.getElementById('secondHand');

setInterval(function(){

var currentTime = new Date();

var hourValue = currentTime.getHours();

var hourAngle = hourValue / 24 * 360 + 'deg';

var minuteValue = currentTime.getMinutes();

var minuteAngle = minuteValue / 60 * 360 + 'deg';

var secondValue = currentTime.getSeconds();

var secondAngle = secondValue / 60 * 360 + 'deg';

console.log(hourAngle);

// 方法一:利用jquery的css()增加属性

var cmdHour = 'rotate('+ hourAngle +')';

$('#hourHand').css({transform:'rotate('+ hourAngle +')'});

var cmdMinute = 'rotate('+ minuteAngle +')';

$('#minuteHand').css({transform:cmdMinute});

var cmdSecond = 'rotate('+ secondAngle +')';

$('#secondHand').css({transform:cmdSecond});

// 方法二:利用DOM元素的style属性设置

// hourHand.style.transform = 'rotate('+ hourAngle + ')';

// minuteHand.style.transform = 'rotate('+ minuteAngle + ')';

// secondHand.style.transform = 'rotate('+ secondAngle + ')';

},1000);

}

用html和css制作钟表,使用HTML5和CSS3制作简单的钟表相关推荐

  1. html5 纵向分割线,html5和css3制作不规则的网页背景分割线

    这是一款实用的.效果炫酷的html5和css3制作不规则的网页背景分割线网页模板. EXAMPLE 1 下面来看一下第一个demo的制作流程. html结构:实用一个section来包裹所有的内容,其 ...

  2. css3网站代码 html5_【实战HTML5与CSS3】用HTML5和CSS3制作页面(上)

    前言 周一离职并且入职了,于是开始了做新项目,那天我问了下前端大哥,我们做的项目需要兼容哪些浏览器,他说需要兼容IE9以上与chrome,ff,我一下就诡异的笑了.... 这不是HTML5与CSS3项 ...

  3. php日历css样式,如何在HTML5和CSS3创建一个日历图标

    你有没有看到西蒙娜萨拉的最近的一篇文章, 如何在Photoshop中创建一个日历应用程序图标 ? 它看起来很棒,非常适合智能手机的日历应用程序,是大家非常关注的,因为我们进入2014年. 有没有可能建 ...

  4. css下拉点击不动,CSS3 - 进行简单的点击下拉[关闭](CSS3 - Making a simple click-dropdown [closed])...

    CSS3 - 进行简单的点击下拉[关闭](CSS3 - Making a simple click-dropdown [closed]) 有人可以帮助我使用与此页面相同的下拉列表的代码吗? 我想做同样 ...

  5. html css动画自动旋转,HTML5 - 用CSS3动画制作场景切换效果(移动,旋转,淡入淡出等)...

    代码如下: HTML5-页面切换动画 #viewsWrapper { top:0px; left:0px; width:300px; height:200px; position:relative; ...

  6. html文字遮罩的用途,使用HTML5和CSS3制作遮罩文字特效

    遮罩文字特效指的是文字下面的图片被文字层遮挡住,图片只在文字中显示.这种效果使用photoshop来制作是非常简单的.现在,Webkit内核的浏览器支持CSS3的background-clip属性,它 ...

  7. 动漫制作都用html5吗,怎么制作h5动画?

    有小伙伴提问,需要在ae软件中制作h5动画?具体该怎么做呢?h5动画也是制作动画教程的一种方法,区别就是展现形式不同,本质和mg动画差不多,特点就是运用效果突出人物本身,日常学习中我们可以从简单的操作 ...

  8. css金币动画_用纯CSS3制作的金币(铜币 | 钱币)

    CSS 语言: CSSSCSS 确定 body { margin: 0; background: #262626; } span { font-family: "Montserrat&quo ...

  9. 如何使用HTML5以及CSS3制作美食专题栏目

    编写思路: 1.先准备好图片,使用图像标签<img>插入图片: 2.使用两个段落标签<p>完善H5结构,插入正文: 3.使用<em>标签对特殊文本"导语& ...

最新文章

  1. ISAPI_Rewrite3.1相关知识
  2. 指针应用-----链表二
  3. Windows10中Docker的安装与遇到的那些坑
  4. 解决网站在负载均衡环境下SESSION丢失的问题
  5. Actor-ES框架:Ray
  6. 使用Spring Data Redis进行缓存
  7. java 指定时间转换_Java中使用Calendar进行获取指定时间,使用SimpleDateFormat进行格式化转换...
  8. 基于PCDN技术的无延时直播方案
  9. 深入学习JavaScript: apply 方法 详解
  10. 405.数字转换为十六进制数
  11. 常用Gis通用符号库大全
  12. 分治——最近点对问题
  13. qs2021年世界大学计算机专业排名,北科大新闻网-学校在QS2021年世界大学排名中位列446 上升16名...
  14. linux版高德导航软件下载,高德导航下载2021年最新版本_高德导航2021手机版下载-太平洋下载中心...
  15. 中国C2C电子商务模式存在的问题及对策
  16. iOS二十种超酷时尚艺术滤镜汇总
  17. 子网掩码、IP和默认网关
  18. 计算机里的MAC,怎么在mac苹果电脑中查看电脑开机运行的时长
  19. Java经典代码工具类
  20. 非常实用FPGA实现CRC校验介绍和代码生成工具

热门文章

  1. 企业抖音账号流量提升3步法,新号也能过百万播放量
  2. 用UDP实现简易的聊天室
  3. 网络技术摘抄(入门需知)
  4. 有各组方差怎么算组间平方和_#excel单因素方差分析#excel如何计算组间离差平方和...
  5. 开发一个最简单的iOS App
  6. PL_SQL模块学习之十六、记录
  7. 计算机毕业设计ssm煤炭资源交易竞拍平台6f62h系统+程序+源码+lw+远程部署
  8. Linux debug 常用命令
  9. 【Kay】Java判断正数和负数个数
  10. (Spring笔记)AspectJ环绕通知——@Around切面开发