【发布时间】:2018-06-04 10:30:03
【问题描述】:
我的头发变白了,因为我无法在我的 SPA 上显示这个时钟。我有一个应该显示在页面上的时钟,但我似乎无法正确设置它。我已经尝试过我们在课程中教过的东西,但我似乎无法做到正确。请你看一下,也许可以帮忙。连 console.log 都没有打印出来。
Clock.js 中的代码:
function clock () {
let now = new Date()
let h = now.getHours()
let m = now.getMinutes()
let s = now.getSeconds()
m = checkTime(m)
s = checkTime(s)
let target = document.querySelector('#footer-clock')
let clockText = document.createTextNode(h + ':' + m + ':' + s)
target.appendChild(clockText)
setInterval(clock, 500)
}
function checkTime (i) {
if (i < 10) {
i = '0' + i
}
return i
}
module.exports = clock
app.js 中的代码:
const clock = require('./clock.js')
document.querySelector('#footer-clock').onload = function () {
clock()
console.log('Loaded')
}
在 HTML 中我有:
footer>
<div id="footer-clock">
</div>
</footer>
【问题讨论】:
-
除了 onload 问题,您还在每次调用
clock时附加一个新的时间戳。相反,您可能只想做target.textContent = h + ':' + m + ':' + s。此外,您调用setInterval,这将使调用爆炸。你可能想要setTimeout。 -
@Roy 工作正常,现在我只需要在页面加载时加载...
标签: javascript dom selectors-api