Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 .getElementById(“getElementById”)未按要求工作_Javascript_Html_Innerhtml - Fatal编程技术网

Javascript .getElementById(“getElementById”)未按要求工作

Javascript .getElementById(“getElementById”)未按要求工作,javascript,html,innerhtml,Javascript,Html,Innerhtml,我试图根据时间改变标题(h1)中的文本。该值不会更改。不确定它为什么不起作用-迄今为止尝试了多种更改和解决方案 <html> <head> <link href='https://fonts.googleapis.com/css?family=Lato:100' rel='stylesheet' type='text/css'> </head> <body> <center> <img src = "im

我试图根据时间改变标题(h1)中的文本。该值不会更改。不确定它为什么不起作用-迄今为止尝试了多种更改和解决方案

<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Lato:100' rel='stylesheet' type='text/css'>
</head>
<body>
<center>
  <img src = "image.png" width = "25%" height = "auto"/>
    <h1 id = "ce" style="font-weight: normal; font-family: 'lato', sans-serif; font-size:80px;">No Event</h1>
</center>
<iframe id="ytplayer" type="text/html" width="100%" height="500"
src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com"
frameborder="0"/>
  <script>
 function headerChange(){
 var d = new Date();
 var m = d.getMinutes();
 var h = d.getHours();
 if(h == 7 && m>=45){
    document.getElementById("ce").innerHTML = "event1";
  }
  if(h == 8 && m>=00){
  document.getElementById("ce").innerHTML = "event2";
  }
  if(h == 8 && m>=15){
  document.getElementById("ce").innerHTML = "event3";
  }
  if(h == 8 && m>=45){
  document.getElementById("ce").innerHTML = "event4";
  }
  if(h == 9 && m>=00){
   document.getElementById("ce").innerHTML = "event5";
  }
  if(h == 9 && m>=15){
     document.getElementById("ce").innerHTML = "event6";
   }
   }
  headerChange();
  setTimeout(headerChange, 1000);
  </script>
</body>
  </html>

无事
函数头更改(){
var d=新日期();
var m=d.getMinutes();
var h=d.getHours();
如果(h==7&&m>=45){
document.getElementById(“ce”).innerHTML=“event1”;
}
如果(h==8&&m>=00){
document.getElementById(“ce”).innerHTML=“event2”;
}
如果(h==8&&m>=15){
document.getElementById(“ce”).innerHTML=“event3”;
}
如果(h==8&&m>=45){
document.getElementById(“ce”).innerHTML=“event4”;
}
如果(h==9&&m>=00){
document.getElementById(“ce”).innerHTML=“event5”;
}
如果(h==9&&m>=15){
document.getElementById(“ce”).innerHTML=“event6”;
}
}
headerChange();
设置超时(headerChange,1000);

请关闭磁头更换功能。我认为它缺少结束括号。 其次,您正在使用setTimeout和递归调用。我建议不要递归地调用它,你可以这样做

function headerChange(){
 var d = new Date();
 var m = d.getMinutes();
 var h = d.getHours();
 if(h == 7 && m>=45){
    document.getElementById("ce").innerHTML = "event1";
  }
  if(h == 8 && m>=00){
  document.getElementById("ce").innerHTML = "event2";
  }
  if(h == 8 && m>=15){
  document.getElementById("ce").innerHTML = "event3";
  }
  if(h == 8 && m>=45){
  document.getElementById("ce").innerHTML = "event4";
  }
  if(h == 9 && m>=00){
   document.getElementById("ce").innerHTML = "event5";
  }
  if(h == 9 && m>=15){
     document.getElementById("ce").innerHTML = "event6";
   }
}
  setTimeout(headerChange, 1000);

var myVar=设定间隔(水头变化,1000);
函数头更改(){
var d=新日期();
var m=d.getMinutes();
var h=d.getHours();
var elem=document.getElementById(“ce”);
如果(h==7&&m>=45){
elem.innerHTML=“event1”;
}否则如果(h==8&&m>=00){
elem.innerHTML=“event2”;
}否则如果(h==8&&m>=15){
elem.innerHTML=“event3”;
}否则如果(h==8&&m>=45){
elem.innerHTML=“event4”;
}否则如果(h==9&&m>=00){
elem.innerHTML=“event5”;
}否则如果(h==9&&m>=15){
elem.innerHTML=“event6”;
}
}

谢谢您的回答@拉克曼解决了这个问题。这是youtube iFrame。一旦我删除了特定的演示iFrame,我的代码就开始工作了。

setTimeout
只运行一次函数,使用
setInterval
,或者在
headerChange
中添加另一个
setTimeout
。好的,但是您会看到,它甚至一次也没有改变..您错过了函数header change的关闭
}
该代码仅在上午7:45到9:59之间更改标头。。。你在正确的时间测试了吗?此外,您应该将脚本放入
头部
正文
,当前HTML无效。是。我试过正确的时间。
<script>
var myVar = setInterval(headerChange, 1000);

function headerChange(){
 var d = new Date();
 var m = d.getMinutes();
 var h = d.getHours();
 var elem = document.getElementById("ce");

  if(h == 7 && m>=45){
     elem.innerHTML = "event1";
  }else if(h == 8 && m>=00){
     elem.innerHTML = "event2";
  }else if(h == 8 && m>=15){
     elem.innerHTML = "event3";
  }else if(h == 8 && m>=45){
     elem.innerHTML = "event4";
  }else if(h == 9 && m>=00){
     elem.innerHTML = "event5";
  }else if(h == 9 && m>=15){
     elem.innerHTML = "event6";
  }
}
</script>