我在屏幕上有一个假时钟,上面有一个时间:
<div class="time">9:14<sup>am</sup></div>我想要做一个函数,以便能够将该时间与另一个任意时间之间切换,这样,时钟实际上会在数秒和几个小时之间前进,直到到达新的时间(伪代码):
var currentTime = {
time: 9:14am
}
function changeTime(newTime){
TweenMax.to(currentTime,.5,{
time: newTime
});
}
changeTime(12:32pm);因此,在上面的情况下,分钟数会上升1到60,然后将小时增加1,然后重置为零,然后再增加到60,等等,直到12:32 (上午12:00切换到下午12:00)。
有什么方法可以用tweenmax和时间戳来完成吗?或者我需要构造一个自定义函数吗?或者也许有更好的方法在时间之间吐槽?
发布于 2018-02-01 18:36:19
您可以使用类似的东西(并且改进它,我很快就做到了)。
<script>
var hour, minute, second, meridian, isAm;
isAm = true;
hour = 0;
minute = 0;
second = 0;
function timerLoop () {
second++;
if(second > 59) {
second = 0;
minute++;
}
if(minute > 59) {
minute = 0;
hour++;
}
if(hour >12) {
hour = 1;
isAm = !isAm;
}
// update labels
meridian = 'a.m.';
if(!isAm) meridian = 'p.m.';
console.log(hour + ':' + minute + ':' + second + ' ' + meridian);
setTimeout(function() {
timerLoop();
}, 1000);
}
timerLoop();
</script>我只测试了2分钟,但那部分是有效的。您可能希望将前导零加到个位数中,因为我还没有这样做。一旦它按照您的需要运行,您可以查看添加动画或淡出,以使它的风格更好一点。
https://stackoverflow.com/questions/48531233
复制相似问题