未打印Javascript值
Javascript value not printing
本文关键字:Javascript 打印 更新时间:2023-09-26
我试图用JS制作一个倒计时计时器,并分别为每个数字(天、小时等)设置样式,我尝试先设置"天"的样式,但当默认值打印出来时(在表单中),它不起作用。
脚本(JS):
<script>
// set the date we're counting down to
var target_date = new Date("Aug 15, 2019").getTime();
// variables for time units
var days, hours, minutes, seconds;
// get tag element
var countdown = document.getElementById("countdown");
// update the tag with id "countdown" every 1 second
setInterval(function () {
// find the amount of "seconds" between now and target
var current_date = new Date().getTime();
var seconds_left = (target_date - current_date) / 1000;
// do some time calculations
days = parseInt(seconds_left / 86400);
seconds_left = seconds_left % 86400;
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;
minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);
// format countdown string + set tag value
document.getElementById("days").value = days;
document.form1.hours.value = hours;
document.form1.minutes.value = minutes;
document.form1.seconds.value = seconds;
}, 1000);
</script>
HTML正文:
<body><div id="days"></div>
<form name="form1"><p>Days <input type="text" name="days" value="0" size="3"> Hours
<input type="text"name="hours" value="0" size="4"> Minutes
<input type="text" name="minutes" value="0" size="7"> Seconds
<input type="text" name="seconds" value="0" size="7"> </p>
</form>
提前谢谢。:)
我认为您要做的不是将值放在输入框中,而是将其放在元素(span、div或其他)中。
为此,您应该使用".innerText",而不是".value".
以下是我认为你正在努力实现的目标:
HTML:
Javascript:
// set the date we're counting down to
var target_date = new Date("Aug 15, 2019").getTime();
// variables for time units
var days, hours, minutes, seconds;
// get tag element
var countdown = document.getElementById("countdown");
// update the tag with id "countdown" every 1 second
setInterval(function() {
// find the amount of "seconds" between now and target
var current_date = new Date().getTime();
var seconds_left = (target_date - current_date) / 1000;
// do some time calculations
days = parseInt(seconds_left / 86400);
seconds_left = seconds_left % 86400;
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;
minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);
// format countdown string + set tag value
document.getElementById("days").innerText = days;
document.getElementById("hours").innerText = hours;
document.getElementById("minutes").innerText = minutes;
document.getElementById("seconds").innerText = seconds;
}, 1000);
<p>Days <span id="days"></span> Hours
<span id="hours"></span> Minutes
<span id="minutes"></span> Seconds
<span id="seconds"></span>
</p>
这是jsFiddle-http://jsfiddle.net/fw69xfe2/1/
如果您想使用您的div#天数作为天数值的输出,您应该使用document.getElementById("days").innerHTML = days;
而不是document.getElementById("days").value = days;
您需要将id属性赋予第一个输入字段,目前它只有name属性。您正试图使用JavaScript中的it-id来获取输入字段。将您的html更改为:
<form name="form1"><p>Days <input type="text" id="days" value="0" size="3"> Hours
<input type="text" name="hours" value="0" size="4"> Minutes
<input type="text" name="minutes" value="0" size="7"> Seconds
<input type="text" name="seconds" value="0" size="7"> </p>
</form>
相关文章:
- JavaScript打印功能使日历停止工作
- 如何用javascript打印php数组
- 打开抽屉的Javascript打印命令
- JavaScript-打印元素值
- 直接使用html5或javascript打印
- system.err风格的控制台以javascript打印
- 无法使用JavaScript打印带有for循环的验证错误
- 使用Javascript打印图像
- chrome在通过javascript打印时要求登录
- 在SharePoint中通过javascript打印
- JavaScript打印的数字有20位小数
- 使用Javascript打印HTML:未定义错误
- 使用javascript打印元素
- 使用 JavaScript 打印 PDF
- Javascript 打印多个网页 iFrame 内容(全部打印按钮)
- 如何使用嵌套循环使用 Javascript 打印到外部循环的输出中
- JavaScript:打印前 12 个月 - “March”打印两次
- Javascript:打印类属性
- 如何使用 javascript 打印带上划线的文本
- 通过 Javascript 打印在 IFrame 中加载的 PDF