html5 svg简单的模拟时钟特效

当前位置:主页 > Html5库 > HTML5动画 > html5 svg简单的模拟时钟特效
html5 svg简单的模拟时钟特效
分享:

    插件介绍

    这是一款使用html5制作的非常简单的模拟时钟特效。该模SVG拟时钟特效代码十分简洁,它通过SVG的path模拟出时钟的轮廓,然后使用几行js代码使时钟动起来。html代码和js代码加起来才十几行代码。

    浏览器兼容性

    浏览器兼容性
    时间:2015-01-04
    阅读:
简要教程

这是一款代码非常简洁的html5 svg模拟时钟特效插件。该插件通过简单的SVG图形来模拟时钟轮廓,然后使用JS代码让时钟动起来。你想查看jQuery版本的数字电子时钟的制作方法可以查看:使用JQUERY和CSS3制作逼真的数字时钟效果。html5版本带闹钟功能的数字电子时钟可以查看:html5超逼真带定时功能的电子数字时钟

HTML结构

html结构中使用SVG path来模拟时钟的轮廓。

<svg height="200" width="200" viewBox="0 0 1000 1000">
  <path d="M978,500c0,263.99-214.01,478-478,478s-478-214.01-478-478,214.01-478,478-478,478,214.01,478,478zm-888.93,237.25,20.179-11.65m779.16-449.85l22.517-13m-648.18,648.18,11.65-20.18m449.85-779.16l13-22.517m-711.75,410.93h23.305m899.7,0h26m-885.43-237.25,20.179,11.65m779.16,449.85,22.517,13m-648.18-648.18l11.652,20.183m449.85,779.16,13,22.517m-237.25-885.43v23.305m0,899.7,0,26"/>
  <path d="M500,500,500,236" id="hour"/>
  <path d="M500,500,500,120" id="min" />
  <path d="M500,500,500,90" id="sec" />
</svg>
                

CSS样式

插件中的CSS样式只是简单的渲染时钟的轮廓,给时针、分针和秒针添加不同的颜色。

html {
  background: #0e2e3a;  
}
svg {
  position: absolute;
  top: 10%;
  width: 95%;
  height: 80%;
}
path {
  stroke: #09151b;
  stroke-linecap:round;
  stroke-width: 42;
  fill:none;
}
#sec {
  stroke: #6f7f24;
  stroke-width: 20;
}
#min {
  stroke: #3d601b;
  stroke-width: 38;
}
#hour {
  stroke: #13441e;
  stroke-width: 38;
}
                

JAVASCRIPT

是时钟动起来的js代码简单的使用js定时器来制作。

setInterval(function() {
  function r(el, deg) {
    el.setAttribute('transform', 'rotate('+ deg +' 500 500)')
  }
  var d = new Date()
  r(sec, 6*d.getSeconds())  
  r(min, 6*d.getMinutes())
  r(hour, 30*(d.getHours()%12) + d.getMinutes()/2)
}, 1000)