为什么我把js代码放在head头部点击控件就没有放大、缩小的效果了??而放在div标签后就有,,跟video标签有关吗???还是关于计算机阅读代码的顺序?

为什么我把js代码放在head头部点击控件就没有放大、缩小的效果了??而放在div标签后就有,,跟video标签有关吗???还是关于计算机阅读代码的顺序?

正确的:

<!DOCTYPE html> 

<html> 

<body> 

<div style="text-align:center;">

  <button onclick="playPause()">播放/暂停</button> 

  <button onclick="makeBig()">大</button>

  <button onclick="makeNormal()">中</button>

  <button onclick="makeSmall()">小</button>

  <br /> 

  <video id="video1" width="420" style="margin-top:15px;">

    <source src="/example/html5/mov_bbb.mp4" type="video/mp4" />

    <source src="/example/html5/mov_bbb.ogg" type="video/ogg" />

    Your browser does not support HTML5 video.

  </video>

</div> 

<script type="text/javascript">

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

function playPause()

if (myVideo.paused) 

  myVideo.play(); 

else 

  myVideo.pause(); 

function makeBig()

myVideo.width=560; 


function makeSmall()

myVideo.width=320; 

function makeNormal()

myVideo.width=420; 

</script> 

</body> 

</html>


Ewall_
浏览 2097回答 1
1回答

西地锦

因为你放div前面的时候 ,js代码先于 video这个标签下载,然后开始执行代码,取不到video,所以会报错。对于js来说你定义的myVideo为null,所以后面对myVideo的所有操作都不生效且报错。你可以把你的JS代码外边加上这么一层:window.onload = function(){     Your Code ; }这个window事件的意思是等Dom加载结束之后再执行里边的代码,这样就能取到video了,JS代码的位置就没有限制了。
打开App,查看更多内容
随时随地看视频慕课网APP