JavaScript动态时间SetTimeout方法改变高度
JavaScript Dynamic Time SetTimeout Method Changes the height
JQuery滑动滑动div部分。秒应该从底部滑动,但它不应该调整div部分。如何解决这个问题?
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML =
h + ":";
document.getElementById("txt1").innerHTML= m+":";
$(document).ready(function(){
$("#txt2").fadeOut("fast");});
document.getElementById("txt2").innerHTML= s;
$(document).ready(function(){
$("#txt2").slideDown();});
var t = setTimeout(startTime, 1000);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
</script>
<style>
#col {
background-color:red;
color:white;
}
</style>
</head>
<body onload="startTime()">
<div id="col" style="position:fixed;font-size:5em">
<span id="txt"></span><span id="txt1"></span><span id="txt2"></span>.</div>
</body>
</html>
很抱歉这么说,但是你的代码在很多层面上看起来都是错误的,我宁愿从头开始开发一个快速版本的时钟:)我使用了神奇的Flexbox进行布局。
var $h, $m, $s, checkTime, startTime;
$h = $(".hours");
$m = $(".minutes");
$s = $(".seconds");
startTime = function() {
var today = new Date();
$h.text(checkTime(today.getHours()));
$m.text(checkTime(today.getMinutes()));
$s
.text(checkTime(today.getSeconds()))
.css("opacity",1)
.hide()
.slideDown('fast')
.delay(400)
.animate({"opacity":0},200);
};
checkTime = function(i) { return i < 10 ? "0"+i : i; };
setInterval(startTime, 1000);
startTime();
h1 {
font-family: 'Inconsolata';
font-size: 2rem;
width : 160px;
background-color : red;
color : white;
display: flex;
align-items: flex-end;
justify-content : center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href='https://fonts.googleapis.com/css?family=Inconsolata:700' rel='stylesheet' type='text/css'>
<h1>
<span class="hours"></span>
<span>: </span>
<span class="minutes"></span>
<span>: </span>
<span class="seconds"></span>
</h1>
尝试在time元素上设置max-height。你还可以对代码做一些其他的改进,但是这些额外的CSS应该可以让你解决这个显示问题。
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML = h + ":";
document.getElementById("txt1").innerHTML= m + ":";
// -------------------
// -- You probably don't want to do this a ready()
// -------------------
$(document).ready(function(){
$("#txt2").fadeOut("fast");
});
// -------------------
document.getElementById("txt2").innerHTML = s;
// -------------------
// -- You probably don't want to do this a ready()
// -------------------
$(document).ready(function(){
$("#txt2").slideDown();
});
// -------------------
var t = setTimeout(startTime, 1000);
}
#col {
background-color:red;
color:white;
}
#txt, #txt1, #txt2 {
max-height: 72px;
}
<body onload="startTime()">
<div id="col" style="position:fixed;font-size:5em">
<span id="txt"></span><span id="txt1"></span><span id="txt2"></span>.</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
相关文章:
- 在按钮改变高度后使标题保持不变
- 当改变比例按钮具有不同的高度时
- 为什么我的图像高度没有改变
- 高度在 jQuery 中的 resize() 上不会改变
- 如何使JQuery同位素与改变高度的元素一起工作
- 改变高度会带来问题
- 有什么方法可以改变appequests对话框的高度吗
- 如何改变JS库highcharts的高度和工具提示宽度
- Iframe的高度改变,如果点击
- Jquery动画不改变高度自动
- 在动画开始时改变元素高度(Angular)
- 如何改变宽度和高度的文本区域,根据其内容的大小
- 我每隔几秒钟就会改变图像,同时也会以100%的高度和宽度响应缩放图像
- 当滚动条到达页面顶部时,它会改变高度
- Div改变高度,当用户点击内容JS
- 设置高度的元素动态和改变高度的窗口调整大小使用jQuery
- AngularJS用于动态改变高度的砌体
- JavaScript动态时间SetTimeout方法改变高度
- 工具提示窗口在添加更多文本时改变高度和宽度
- 问题bootstrap 3旋转木马改变高度为0px和边缘为-…px