我在javascript中显示时间,但是当它返回时间时总是未定义。下面是代码
我不确定为什么它总是返回undefined但是。
$('#bar #time').html(hours + ":" + minutes + " " + suffix);
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
//decides if am or pm
var suffix = "AM";
if (hours >= 12) {
suffix = "PM";
hours = hours - 12;
}
if (hours == 0) {
hours = 12;
}
// shows 0 before the minutes if under 10
if (minutes < 10)
minutes = "0" + minutes
答案 0 :(得分:3)
hours
,minutes
和suffix
都是未定义的。除此之外它应该工作正常(并且每个镀铬控制台都可以)。
答案 1 :(得分:1)
与您的实际问题并不完全相关,但$('#bar #time')
将是一个效率相当低的jQuery选择器。由于ID只在您的文档中使用过一次,因此只搜索$('#time')
会得到相同的结果,并且只需要JavaScript引擎一次而不是两次点击document.getElementById
。
小点,但值得一提。
答案 2 :(得分:0)
此处没有分号
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
答案 3 :(得分:0)
$(document).ready(function(){
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
//decides if am or pm
var suffix = "AM";
if (hours >= 12) {
suffix = "PM";
hours = hours - 12;
}
if (hours == 0) {
hours = 12;
}
// shows 0 before the minutes if under 10
if (minutes < 10)
minutes = "0" + minutes
$('#bar').html(hours + ":" + minutes + " " + suffix);
});
打印变量的顺序很重要,
在印刷时没有定义它们。