Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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 HTML5脚本标记中的js代码可以工作,但不在外部js文件中_Javascript_Html - Fatal编程技术网

Javascript HTML5脚本标记中的js代码可以工作,但不在外部js文件中

Javascript HTML5脚本标记中的js代码可以工作,但不在外部js文件中,javascript,html,Javascript,Html,如果此代码位于index.html中的脚本标记内,则可以正常工作,但当将此代码移动到头部引用的js文件时,它将不再工作。我的一个想法是使用window.onload,但无法使其正常工作。这是一个简单的本地HTML5视频播放器。我已经有一段时间没有使用外部js了。有人能帮我吗 var myVideo = document.getElementById("myVideo"); function playPause() { var el = document.getEleme

如果此代码位于index.html中的脚本标记内,则可以正常工作,但当将此代码移动到头部引用的js文件时,它将不再工作。我的一个想法是使用window.onload,但无法使其正常工作。这是一个简单的本地HTML5视频播放器。我已经有一段时间没有使用外部js了。有人能帮我吗

var myVideo = document.getElementById("myVideo");

function playPause() {
  var el = document.getElementById("playButton");
  if (myVideo.paused) {
    myVideo.play();
    el.className ="";
  } else {
  
    myVideo.pause();
    el.className = "playButton";
  }
}
myVideo.addEventListener("click", playPause, false);
var pause42 = function(){
    if(this.currentTime >= 13 && !myVideo.paused) {
      this.currentTime = 42;
        this.pause();

        // remove the event listener after you paused the playback
        this.removeEventListener("timeupdate",pause42);
    }
};
myVideo.addEventListener("timeupdate", pause42);

var pause49 = function(){
    if(this.currentTime >= 45 && !myVideo.paused) {
      this.currentTime = 49;
        this.pause();

        // remove the event listener after you paused the playback
        this.removeEventListener("timeupdate",pause49);
    }
};
myVideo.addEventListener("timeupdate", pause49);

DOMContentLoaded
事件中包装
var myVideo=document.getElementById(“myVideo”)
,以便在尝试获取JS文件中的元素之前加载HTML元素

然后在同一函数中添加事件侦听器,如下所示

document.addEventListener('DOMContentLoaded',function(){
var myVideo=document.getElementById(“myVideo”);
myVideo.addEventListener(“单击”,播放暂停,false);
myVideo.addEventListener(“时间更新”,暂停42);
myVideo.addEventListener(“时间更新”,暂停49);
});
请参阅。您的
是否位于HTML上方,并且没有
延迟属性,也没有
加载DOMContentLoaded
加载
侦听器?看见使用(点击
F12
)并读取任何错误。