如何在淡入后重复显示当前时间
How to repeatedly display the current time right after fadein?
以下代码生成一个计时器,显示fadein
之后的当前时间。所以看起来很糟糕。如何在渐变后重复显示当前时间?
<!doctype html>
<html>
<head>
<title>Exercise</title>
<style>
#box {
margin-left: auto;
margin-right: auto;
width: auto;
background: red;
text-align: center;
font-size: 170px;
}
</style>
</head>
<body>
<div id="box"></div>
<script src="jquery.js"></script>
<script>
$(function () {
fadeout();
});
function fadein() {
$("#box").fadeIn("500", fadeout);
//UpdateTime();
}
function fadeout() {
UpdateTime();
$("#box").fadeOut("500", fadein);
}
function GetTime() {
var now = new Date();
var obj = {
Hour: now.getHours(),
Minute: now.getMinutes(),
Second: now.getSeconds()
};
return obj;
}
function UpdateTime() {
var box = $("#box");
var obj = GetTime();
if (obj.Hour < 10)
obj.Hour = "0" + obj.Hour;
if (obj.Minute < 10)
obj.Minute = "0" + obj.Minute;
if (obj.Second < 10)
obj.Second = "0" + obj.Second;
box.text(obj.Hour + ":" + obj.Minute + ":" + obj.Second);
}
</script>
</body>
</html>
您正在更新淡入完成后,但在淡入完成之前的时间:http://jsfiddle.net/h8kmqsv6/
尝试将对UpdateTime的调用移动到淡入的开头(请参阅http://jsfiddle.net/h8kmqsv6/1/):
function fadein() {
UpdateTime();
$("#box").fadeIn("500", fadeout);
}
function fadeout() {
$("#box").fadeOut("500", fadein);
}
UPDATE:为了改善同步,您可以使用setInterval
:
var $box = $("#box");
$box.fadeOut(0);
setInterval(tick, 1000);
function tick() {
UpdateTime();
$box.fadeIn(500, function() {
$box.fadeOut(500);
});
}
链接:http://jsfiddle.net/h8kmqsv6/6/
UPDATE2:停止tick
内部的动画也是一个好主意:
function tick() {
$box.stop(true, true);
UpdateTime();
$box.fadeIn(500, function() {
$box.fadeOut(500);
});
}
链接:http://jsfiddle.net/h8kmqsv6/15/
相关文章:
- 显示时间的脚本
- 如何用前导零显示时间
- 如何在烛光图表中添加/显示时间框架
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 在条件中的几个时间行中设置自定义css效果后,从Jquery时间选择器显示时间
- 在指定时间中添加 24 小时后在网页上显示时间 x
- 如何像这样显示时间,例如:1秒前,1分钟前,1小时前,1个月前
- j查询日期选取器不显示时间输入值
- JavaScript 和 JQuery:在文本框中显示时间
- 给定一个时间戳,如何按天/周/月显示时间
- 为什么不显示时间
- 显示时间而不是日期的图表
- 根据天数和月数显示时间戳
- 如何在 Javascript 中显示时间
- 如果午夜使用时刻.js,则不显示时间
- 是否可以筛选 JSON 源以仅显示时间戳字符串中的时间
- 检查后显示时间选择器复选框,导轨(Redmine)
- 设置showErrorMessage()的显示时间
- 以12小时格式显示时间
- 日期时间倒计时,删除小数,并在每个类别中保留时间显示时间