如何";动画"/在java脚本中隐藏然后取消隐藏字符串
How to "Animate" / Hide and then Unhide a string in java script?
现在,我正在为网页制作一个非常简单的实时时钟。我想让":"在小时、分钟和秒之间隐藏一秒钟,然后取消隐藏下一秒钟。
这是代码:
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
var per = h * 60 + m;
m = checkTime(m);
h = checkTime(h);
s = checkTime(s);
var am = " am";
var pm = " pm";
if (h > 12) {
h = (h - 12)
document.getElementById('time').innerHTML = h + ":" + m + ":" + s + pm.sup();
} else {
document.getElementById('time').innerHTML = h + ":" + m + ":" + s + am.sup();
}
var t = setTimeout(function(){startTime()},500);
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
使用此方法的一种方法
new Date().toLocaleTimeString()
它会自动将时间转换为与您的格式类似的格式。
http://codepen.io/anon/pen/ZGrLXo
整个js代码:
var ele = document.getElementById('time'), blink, str;
setInterval(function(){
str = new Date().toLocaleTimeString();
ele.innerText = (blink = !blink)?str:str=str.replace(/:/g," ");
},500);
将闪烁的:
字符的opacity
的css值设置为每秒在0
和1
之间转换。所以,如果你的blinker DOM元素看起来是这样的:
<span id="blinker">:</span>
你的代码可能是这样的:
var opacity = 1;
setInterval(function(){
var blinker = document.getElementById("blinker");
blinker.style.opacity = opacity == 1 ? 0 : 1; //This is a ternary operator, acting as an alternator
}, 1000);
希望这能有所帮助!
对于时钟,您的HTML应该看起来像:
<div>
<span id="hours"></span>
<span id="blinker"></span>
<span id="minutes></span>...
</div>
JavaScript
var hours = document.getElementById("hours");
hours.innerHTML = ...
var minutes = document.getElementById("minutes");
minutes.innerHTML = ...
闪光灯:
<span id="blinker">:</span>
对于JavaScript,您需要一个获取CSS值的函数
getComputedStyle(el, null).getPropertyValue(val)
切换:
setInterval(function () {
var blinker = document.getElementById("blinker");
var val = window.getComputedStyle(blinker, null).getPropertyValue("display");
switch (val) {
case "block":
blinker.style.display = "none";
break;
case "none":
blinker.style.display = "block";
break;
}
}, 1000);
闪烁示例
以下是您的代码的完整解决方案。那里我不使用显示块。相反,我使用不透明度,因为您使用块更改位置。
在startTime((函数之外使用setInterval单独使用:
setInterval(function() { f(); }, 1000);
完整解决方案
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 显示5秒后隐藏潜水
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 浮动页脚栏-使用Bootstrap隐藏
- 在jquery中为显示/隐藏设置cookie
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何分解jQuery"toggle”;函数转换为separate“;显示“;以及“;隐藏“;功能
- javascript或css:如何隐藏后面跟着句点前缀的任何数字"1.文本”"2.文本“"
- "隐藏/显示”;元素和更改按钮背景图像
- jQuery"加载更多的帖子”;隐藏按钮如果最后一个帖子
- "如果元框为空“;从前端隐藏它-WordPress
- 如何在jqGrid中隐藏和显示自定义按钮通过使用"reccount”;
- jQuery:元素静止":隐藏的“;在.slideDown()之后
- 如何隐藏所有下一个"字段集“;元素使用jQuery
- "隐藏"李点击
- 寻找“;显示更多“"隐藏“;javascript/jquery
- 我怎么能隐藏形式字段(城市& quot;状态),直到zip被填充
- 如何";动画"/在java脚本中隐藏然后取消隐藏字符串
- 隐藏按钮onClick=“"然后启动以下方法调用