我想在一天中的某些时间开始播放我的视频。这是'script.js':
var player;
function createPlayer() {
player=new YT.Player('main-block',{
height:'400',
width:'400',
playerVars:{
'rel':0,
'controls':0,
'showinfo':0,
'disablekb':1,
'modestbranding':1,
'enablejsapi':1
},
videoId:'tgbNymZ7vqY',
events:{
'onReady':onPlayerReady
}
});
}
function onPlayerReady(event) {
document.getElementById("timer").style.display='none';
event.target.playVideo();
}
function clockPlayer(){
var now = new Date();
if (now.getHours()==20 && now.getMinutes()==18){
createPlayer();
}else if(now.getHours()<20){
var time_hours = 19 - now.getHours();
var time_min = 59 - now.getMinutes();
var time_sec = 59 - now.getSeconds();
var hours=((time_hours<10) ? "0":"") + time_hours;
var min=((time_min<10)? "0":"") + time_min;
var sec=((time_sec<10)? "0":"") + time_sec
var time = hours + ':' + min + ':' + sec;
document.getElementById("timer").innerHTML=time;
}
}
setInterval(clockPlayer, 1000);
当我尝试调用此函数时,我的浏览器会忽略'playerVars',我无法理解为什么。
这是index.html:
<body>
<script language="javascript" src="https://www.youtube.com/iframe_api"></script>
<div id="timer"></div>
<div id="main-block"></div>
<script language="javascript" src="script.js"></script>
</body>
时钟功能现在有随机日期,我稍后会更改。当我尝试使用没有时钟功能的createPlayer()
时,我得到了相同的结果。
您的代码中有拼写错误。将宽度更改为宽度。
如果问题仍然存在,请提供更多信息。
PS。安装一个linter以避免拼写错误;)
也许问题出在代码的else if
部分。
我改变了这样,它按预期工作:
if (now.getHours() == 1 && now.getMinutes() == 12) {
createPlayer();
} else {
var time_hours = 19 - now.getHours();
var time_min = 59 - now.getMinutes();
var time_sec = 59 - now.getSeconds();
var hours = ((time_hours < 10) ? "0" : "") + time_hours;
var min = ((time_min < 10) ? "0" : "") + time_min;
var sec = ((time_sec < 10) ? "0" : "") + time_sec
var time = hours + ':' + min + ':' + sec;
document.getElementById("timer").innerHTML = time;
}
这是working jsfiddle,有以下修改:
12:49
,我改变了创建玩家的if条件 - 用于测试目的。else if
并仅设置else
。