爲了讓我的代碼更易讀,更簡單,我打破我的頭在這一段代碼:簡化的setInterval
var refresh = setInterval(datumTijd, 1000);
function datumTijd() {
document.getElementById("tijd1").innerHTML = tijd();
document.getElementById("tijd2").innerHTML = tijd();
}
function tijd(){
var d1 = new Date(),
minutes = d1.getMinutes().toString().length == 1 ? '0'+d1.getMinutes() : d1.getMinutes(),
hours = d1.getHours().toString().length == 1 ? '0'+d1.getHours() : d1.getHours();
return hours+ ':' +minutes;
}
雖然這樣做的工作,我有一種感覺,有一個功能太多了,這是document.getElementById
- 位我更新兩個不同的<div>
s。由於return
代碼的原因,我無法找到擺脫這部分的方法。
我嘗試:
var refresh = setInterval(tijd, 1000);
function tijd(){
var d1 = new Date(),
minutes = d1.getMinutes().toString().length == 1 ? '0'+d1.getMinutes() : d1.getMinutes(),
hours = d1.getHours().toString().length == 1 ? '0'+d1.getHours() : d1.getHours();
return hours+ ':' +minutes;
document.getElementById("tijd1").innerHTML = d1;
}
但沒有回來:(
當你執行'return'時,它結束該函數。將其更改爲變量賦值,然後將其放入'innerHTML'中。 – Barmar
其實我覺得你的2個函數是有意義的,你甚至可以做第3個函數來設置一個元素的內部html;) – Icepickle
不完全相關,但這些三元運算符看起來很糟糕。你可以用'substr'加上前導零,就像'hours =('0'+ d1.getHours())。substr(-2);' – Teemu