【发布时间】:2014-05-26 19:33:31
【问题描述】:
我的 CSS3/jQuery 模拟时钟有点小问题。
对于每一步,时钟指针都非常辛苦。相反,我希望运动/动画流畅。我已经尝试过使用transition: all .1s,但是当时钟指针到达顶部时,它就搞砸了。
我正在使用transform: rotate() 来旋转每只手。每移动一次,它会旋转 6 度。
也许解决方案是,不是只旋转指针,每秒、分钟和小时旋转 6 度,而是秒针每 1/6 秒旋转 1 度,秒针每 10 秒旋转 1 度。分针和时针每 10 分钟一次。我认为它可以创建更流畅的手部动画,但我不知道该怎么做。
这是我的 JavaScript 代码:
$(function() {
setInterval( function() {
var seconds = new Date().getSeconds();
var sdegree = seconds * 6;
var srotate = "rotate(" + sdegree + "deg)";
$("#sec").css({ "transform": srotate });
}, 1000 );
setInterval( function() {
var hours = new Date().getHours();
var mins = new Date().getMinutes();
var hdegree = hours * 30 + (mins / 2);
var hrotate = "rotate(" + hdegree + "deg)";
$("#hour").css({ "transform": hrotate});
}, 1000 );
setInterval( function() {
var mins = new Date().getMinutes();
var mdegree = mins * 6;
var mrotate = "rotate(" + mdegree + "deg)";
$("#min").css({"transform" : mrotate });
}, 1000 );
});
希望你理解这个问题,并能帮助我:)
【问题讨论】:
-
“也许解决方案可能是......”,您在询问我们之前是否尝试过您提出的解决方案?如果这不起作用,您遇到了什么问题?
标签: javascript jquery css