我正在使用Javascript(没有jQuery)创建段落列表以获得最佳睡眠时间(基于REM睡眠周期)并在页面上显示here's the code。
function sleepnow() {
var result = '';
var a = new Date();
var hour = a.getHours();
var minutes = a.getMinutes() + 14;
if (minutes > 60) {
minutes = minutes - 60;
hour = hour + 1;
}
for (var counter = 0; counter < 6; counter++) {
if (minutes < 30) {
minutes = minutes + 30;
} else {
minutes = minutes - 30;
hour = hour + 1;
}
hour = hour + 1;
if (hour >= 24) {
if (hour === 24) {
hour = 0;
} else if (hour === 25) {
hour = 1;
}
}
if (hour > 9) {
result = result + '<p>' + hour;
} else {
result = result + '<p>0' + hour;
}
if (minutes > 9) {
result = result + ':' + minutes + '</p>';
} else {
result = result + ':0' + minutes + '</p>';
}
}
document.getElementById('sleepnow').innerHTML = result;
}
如何反转该列表以显示更远的列表,依此类推?我用.reverse()尝试了一个小时,但我无法让它工作,它只是翻转一切,&lt; p>包含标签,打破一切。
答案 0 :(得分:0)
我将数据与html分开一点。而不是构建一个字符串,构建一个时间阵列。然后,在构建html字符串时,可以以相反的顺序循环遍历它。
1. create data structure, contains only numbers, no html (model)
2. convert data to html (view)
var html = '';
for (var counter = YOURDATA.length-1; counter >= 0; counter--) {
var t = YOURDATA[counter];
html += ' build your string ' + t + '...';
}
此情况也应该没问题,但要注意原始数据中的特殊字符(&amp;&lt;&gt; \“”)。通常,您应该转义所有数据,对于html上下文。
答案 1 :(得分:0)
首先:答案是:通过使用中间累加器字符串变量 currentOne ,它正常累积并在结果中以其他顺序累加: result = currentOne + result 而不是 result = result + currentOne 。享受:
function sleepnow() {
var result = '';
var a = new Date();
var hour = a.getHours();
var minutes = a.getMinutes() + 14;
if (minutes > 60) {
minutes = minutes - 60;
hour = hour + 1;
}
for (var counter = 0; counter < 6; counter++) {
var currentOne = "";
if (minutes < 30) {
minutes = minutes + 30;
} else {
minutes = minutes - 30;
hour = hour + 1;
}
hour = hour + 1;
if (hour >= 24) {
if (hour === 24) {
hour = 0;
} else if (hour === 25) {
hour = 1;
}
}
if (hour > 9) {
currentOne = currentOne + '<p>' + hour;
} else {
currentOne = currentOne + '<p>0' + hour;
}
if (minutes > 9) {
currentOne = currentOne + ':' + minutes + '</p>';
} else {
currentOne = currentOne + ':0' + minutes + '</p>';
}
result = currentOne + result;
}
document.getElementById('sleepnow').innerHTML = result;
}
其次:请不要在没有详细描述对方的内容的情况下进行外部链接。外部链接可能会过期,变得无关紧要等等。
第三:你在那里的代码中弄得很乱:)