Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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_Html_Jquery_Momentjs - Fatal编程技术网

Javascript 如何更改元素';根据一天中的时间是什么风格?

Javascript 如何更改元素';根据一天中的时间是什么风格?,javascript,html,jquery,momentjs,Javascript,Html,Jquery,Momentjs,我正在尝试制作一个页面,其中包含一天的日历,显示一天中从上午9点到下午5点的每一个小时。我希望每个小时根据一天中的时间显示不同的颜色(如果过去一小时为灰色,如果未来一小时为绿色,如果当前一小时为红色)。我正在尝试使用moment.js来帮助我解决这个问题。以下是我认为是我最好的尝试: var checkTime=函数(){ var hour=$(“.hour”).text().trim(); var时间=时刻(小时,“LT”); console.log(时间) //从元素中删除所有旧类 $(“

我正在尝试制作一个页面,其中包含一天的日历,显示一天中从上午9点到下午5点的每一个小时。我希望每个小时根据一天中的时间显示不同的颜色(如果过去一小时为灰色,如果未来一小时为绿色,如果当前一小时为红色)。我正在尝试使用moment.js来帮助我解决这个问题。以下是我认为是我最好的尝试:

var checkTime=函数(){
var hour=$(“.hour”).text().trim();
var时间=时刻(小时,“LT”);
console.log(时间)
//从元素中删除所有旧类
$(“.hour”).removeClass(“.present.pass.future”);
//如果任务接近/超过到期日期,则应用新类
如果(力矩().isAfter(时间)){
$(“.hour”).addClass(“.pass”);
}else if(矩().isBefore(时间)){
$(“.hour”).addClass(“.future”);
}否则{
$(“.hour”).addClass(“.present”);
}
}

检查时间()考虑以下示例

$(函数(){
函数makeHour(dt){
返回dt.getHours()+(dt.getMinutes()/60);
}
函数textToDate(str){
var h=parseInt(str.slice(0,str.indexOf(“:”));
var m=parseInt(str.slice(str.indexOf(“:”)+1,-2));
var-mer=str.slice(-2);
如果(市盈率=“市盈率”){
h=h+12;
}
var dt=新日期();
dt.设定小时数(h,m);
返回dt;
}
工作时间(a、b){
var r=0;
if(ab){
r=1;
}
返回r;
}
函数checkTime(){
var-then=textToDate($(“.hour”).text().trim());
var now=新日期();
var thenH=制造小时(然后);
var nowH=制造小时(现在);
log(当时,现在);
var测试=压缩小时数(然后,现在);
log(thenH,nowH,test);
如果(测试==0){
$(“.hour”).addClass(“当前”);
}否则如果(测试==-1){
$(“.hour”).addClass(“过去”);
}否则{
$(“.hour”).addClass(“未来”);
}
}
检查时间();
});
。过去{
背景颜色:灰色;
}
.现在{
背景色:红色;
}
.未来{
背景颜色:绿色;
}

上午9:15

BTN
考虑以下示例

$(函数(){
函数makeHour(dt){
返回dt.getHours()+(dt.getMinutes()/60);
}
函数textToDate(str){
var h=parseInt(str.slice(0,str.indexOf(“:”));
var m=parseInt(str.slice(str.indexOf(“:”)+1,-2));
var-mer=str.slice(-2);
如果(市盈率=“市盈率”){
h=h+12;
}
var dt=新日期();
dt.设定小时数(h,m);
返回dt;
}
工作时间(a、b){
var r=0;
if(ab){
r=1;
}
返回r;
}
函数checkTime(){
var-then=textToDate($(“.hour”).text().trim());
var now=新日期();
var thenH=制造小时(然后);
var nowH=制造小时(现在);
log(当时,现在);
var测试=压缩小时数(然后,现在);
log(thenH,nowH,test);
如果(测试==0){
$(“.hour”).addClass(“当前”);
}否则如果(测试==-1){
$(“.hour”).addClass(“过去”);
}否则{
$(“.hour”).addClass(“未来”);
}
}
检查时间();
});
。过去{
背景颜色:灰色;
}
.现在{
背景色:红色;
}
.未来{
背景颜色:绿色;
}

上午9:15

BTN
我不确定“时间逻辑”是否正确(请检查if语句),但这应该是您要查找的内容

var objDate = new Date();
    var hours = objDate.getHours();
    if(hours >= 9 && hours <= 17){
        $(".hour").addClass("present");
    }
    elseif(hours < 9){
        $(".hour").addClass("past");
    }
    else{
        $(".hour").addClass("future");
    }
var objDate=new Date();
var hours=objDate.getHours();
if(hours>=9&&hours我不确定“时间逻辑”是否正确(检查if语句),但这应该是您要查找的

var objDate = new Date();
    var hours = objDate.getHours();
    if(hours >= 9 && hours <= 17){
        $(".hour").addClass("present");
    }
    elseif(hours < 9){
        $(".hour").addClass("past");
    }
    else{
        $(".hour").addClass("future");
    }
var objDate=new Date();
var hours=objDate.getHours();

如果(hours>=9&&hours以下是我如何让它工作的(请记住,我必须在HTML中更改一些类/id,然后在JS中更改选择器):

//根据时间更改textarea背景色
var checkTime=函数(){
//获取当前时间
var currentTime=moment().格式('H');
//使用类“taskarea”获取所有元素
var timeBlockElements=$(“.textarea”);
//遍历taskarea类
对于(var i=0;icurrentTime){
$(manipID).addClass(“未来”);
}否则{
$(manipID).addClass(“当前”);
}
}
}
//每5分钟检查一次

setInterval(checkTime(),(1000*60)*5);
我是如何让它工作的(请记住,我必须在HTML中更改一些类/id,然后在JS中更改选择器):

//根据时间更改textarea背景色
var checkTime=函数(){
//获取当前时间
var currentTime=moment().格式('H');
//使用类“taskarea”获取所有元素
var timeBlockElements=$(“.textarea”);
//遍历taskarea类
对于(var i=0;icurrentTime){
$(manipID).addClass(“未来”);