通过Javascript反转HTML段落列表
我正在使用Javascript(无jQuery)创建一个段落列表,以获得最佳睡眠时间(基于REM睡眠周期),并将其显示在页面上通过Javascript反转HTML段落列表,javascript,dom,reverse,Javascript,Dom,Reverse,我正在使用Javascript(无jQuery)创建一个段落列表,以获得最佳睡眠时间(基于REM睡眠周期),并将其显示在页面上 函数sleepnow(){ var结果=“”; var a=新日期(); var hour=a.getHours(); var minutes=a.getMinutes()+14; 如果(分钟>60){ 分钟=分钟-60; 小时=小时+1; } 用于(变量计数器=0;计数器9){ 结果=结果+''+小时; }否则{ 结果=结果+'0'+小时; } 如果(分钟>9){ 结
函数sleepnow(){
var结果=“”;
var a=新日期();
var hour=a.getHours();
var minutes=a.getMinutes()+14;
如果(分钟>60){
分钟=分钟-60;
小时=小时+1;
}
用于(变量计数器=0;计数器<6;计数器++){
如果(分钟<30){
分钟=分钟+30;
}否则{
分钟=分钟-30分钟;
小时=小时+1;
}
小时=小时+1;
如果(小时>=24){
如果(小时===24){
小时=0;
}否则,如果(小时===25){
小时=1;
}
}
如果(小时>9){
结果=结果+''+小时;
}否则{
结果=结果+'0'+小时;
}
如果(分钟>9){
结果=结果+':'+分钟+'';
}否则{
结果=结果+':0'+分钟+'';
}
}
document.getElementById('sleepnow').innerHTML=result;
}
我怎样才能反转该列表以首先显示较远的列表,依此类推?我用.reverse()尝试了一个小时,但我无法让它工作,它只是翻转了所有内容,包括标记,破坏了所有内容。我想将数据与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 + '...';
}
这种情况也可以,但要注意原始数据中的特殊字符(&\“”)。一般来说,您应该转义所有数据,对于html上下文。首先:答案是:使用一个中间累加器字符串变量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;
}
函数sleepnow(){
var结果=“”;
var a=新日期();
var hour=a.getHours();
var minutes=a.getMinutes()+14;
如果(分钟>60){
分钟=分钟-60;
小时=小时+1;
}
用于(变量计数器=0;计数器<6;计数器++){
var currentOne=“”;
如果(分钟<30){
分钟=分钟+30;
}否则{
分钟=分钟-30分钟;
小时=小时+1;
}
小时=小时+1;
如果(小时>=24){
如果(小时===24){
小时=0;
}否则,如果(小时===25){
小时=1;
}
}
如果(小时>9){
currentOne=currentOne+''+小时;
}否则{
currentOne=currentOne+'0'+小时;
}
如果(分钟>9){
currentOne=currentOne+':'+分钟+'';
}否则{
currentOne=currentOne+':0'+分钟+'';
}
结果=当前一个+结果;
}
document.getElementById('sleepnow').innerHTML=result;
}
第二:请不要在没有详细描述对方的情况下进行外部链接。外部链接可能会过期、变得不相关等
第三:你把代码弄得一团糟:)我完全同意@user1389596。我的回答是,没有改变其他任何东西。我想说的是,Bernardi博士,如果你不遵循用户1389596的建议,你肯定会很快再次陷入麻烦谢谢,公平地说,代码不是100%属于我的,它只是为了使它适合我的需要而修改的,也许我应该试着自己制作,我可以看到它的缺陷,我还不是初学者:)保持你的热情很好。欢迎登机!继续做好工作:)
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;
}