首页 > 开发 > CSS > 正文

使用HTML5和CSS3制作简单的钟表

2020-03-24 16:02:30
字体:
来源:转载
供稿:网友
利用html5,css实现钟摆效果 ,在项目中经常会遇到,今天小编把基于HTML5+CSS3实现简单的时钟效果的实现代码分享到脚本之家平台,需要的额朋友参考下吧

目的:

利用html5,css实现钟摆效果

知识点:

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

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

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

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


 !DOCTYPE html  html  head  meta charset= UTF-8  title /title  style  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; /style  /head  body  p id = box  p id = dial  ul id = scale  li class = scaleIndex /li  li class = scaleIndex angle30 /li  li class = scaleIndex angle60 /li  li class = scaleIndex angle90 /li  li class = scaleIndex angle120 /li  li class = scaleIndex angle150 /li  li class = scaleIndex angle180 /li  li class = scaleIndex angle210 /li  li class = scaleIndex angle240 /li  li class = scaleIndex angle270 /li  li class = scaleIndex angle300 /li  li class = scaleIndex angle330 /li  /ul  p id = fixPoint /p  p id = hourHand /p  p id = minuteHand /p  p id = secondHand /p  script type = text/javascript src = js/jquery-3.2.1.js /script  script type = text/javascript 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); /script  /body  /html 

以上就是使用HTML5和CSS3制作简单的钟表的详细内容,其它编程语言

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表