Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重写标记不同时间的javascript_Javascript - Fatal编程技术网

重写标记不同时间的javascript

重写标记不同时间的javascript,javascript,Javascript,在我的HTML中,我有不同的时间,不总是时差15分钟。可以这样做(当8:00时钟自动读取ID时,下一个ID变为粗体(例如8:00时钟为neu,bolld为下一个ID为8:02) ` var currentDate=新日期(); var currentHour=currentDate.getHours(); var currentMinute=currentDate.getMinutes(); var minuteBin=currentMinute-(currentMinute%15); var

在我的HTML中,我有不同的时间,不总是时差15分钟。可以这样做(当8:00时钟自动读取ID时,下一个ID变为粗体(例如8:00时钟为neu,bolld为下一个ID为8:02)
`

var currentDate=新日期();
var currentHour=currentDate.getHours();
var currentMinute=currentDate.getMinutes();
var minuteBin=currentMinute-(currentMinute%15);
var idString=“”+当前小时数+分钟数;
log(“Time=,currentHour:”,currentMinute,“bin=,minuteBin,”idString=,idString=);
document.getElementById(idString).className='bold';
.bold{
字体大小:粗体;
}

21:45
A.
22:00
B
22:15
C

您希望下一个可能的ID亮起,因此我们必须找出该ID是什么。让我们尝试以下操作:

首先,获取当前可能的ID。您已经有了此ID。但是,您不想将此值舍入为15。您需要当前时间,以便可以选择任何有ID的时间

var currentTimeStamp = currentHour + '' + minutes;
现在,只要这个id不存在,我们就希望继续将其增加1。 为了防止无限循环,还可以添加我们可以计数的最大数量。如果此id不存在,
document.getElementById
将返回
未定义的
,即
false
,因此它将继续循环,直到
当前时间戳
不再小于我们的
停止计数
值,或者当
getE>时lementById
不再是
未定义的
假的
。该结果告诉您最接近的现有id

var stopCounting = currentTimeStamp + 15;
while(
    !document.getElementById(currentTimeStamp) &&
    currentTimeStamp < stopCounting
){ 
    currentTimeStamp++;
}
最后一点是添加您的类,如果它存在(因此不会计算为
false
),否则我们将记录一条错误消息

if(selectedId){
    selectedId.className += "bold";
} else {
    console.log("Could not find an id within 15 minutes of now.");
}
这是您案例中使用的整个过程。我不知道您在这里试图实现什么,我有一点感觉这是一种复杂的成功方式。我认为最好使用
数据属性来代替id,但可以

下面是一个功能齐全的代码段,用于搜索下一个可用id:

更新 我添加了一个按分钟计分的检查器

var-current=false;
函数检查(){
变量日期=新日期();
var hours=date.getHours();
var minutes=date.getMinutes();
document.getElementById(“currentTime”).innerHTML=hours+“:”+minutes;
var最大值=分钟+15;
当(
!document.getElementById('q-'+分钟)&&
分钟<最大值
) {
分钟++;
}
var id=document.getElementById('q-'+分钟)| | false;
//删除任何现有的选定类:
var all=document.querySelectorAll(“.selected”);
对于(变量i=0;i
。所选{颜色:红色}
当前时间:


时间快到了。 一刻钟就要到了。 快半点了。
四分之一到就要到了。
你不能有带数字的ID!在ID前面加上其他东西(比如说
time
)@为什么不呢?说真的,我对HTML4很好奇,一个ID不能以数字开头。这个限制在HTML5中被删除了。我怎样才能得到它呢?它会自动使文本沿着ID向下移动bold@AnirbanN
注意:使用ASCII字母和数字以外的字符,'.'、'-'和'.'可能会导致兼容性问题,因为HTML中不允许使用这些字符4.虽然HTML 5中取消了此限制,但为了兼容性,ID应该以字母开头。
-很抱歉,我不知道它被取消了,但仍然如此。这是超级的。唯一的问题是我必须调整不同的时间,例如18:19,下一个ID 18:22 18:33下一个ID,我需要通过ID批准的内容,如果ID中的时间是自动超过nechste ID粗体,这是我的问题。此操作用于选择正确的ID,它仅在页面加载时执行。将整个操作包装在
setInterval(function(){/*code here(/},1000*60);
中,以每分钟执行一次检查并更新下一个ID(您必须删除
活动的
类。@TonTonii我已经更新了我的代码段以继续检查。它还将更新时间。如果这没有帮助,我什么也做不了。我必须质疑添加的表格,当时间跨越一个数字时,需要突出显示此表格。当时间超过表格上的看台时,需要标记此表格e选择下一个
if(selectedId){
    selectedId.className += "bold";
} else {
    console.log("Could not find an id within 15 minutes of now.");
}