为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Ewall_ 2015-03-28 12:30:28
为什么我把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>
查看完整描述

1 回答

已采纳
?
西地锦

TA贡献9条经验 获得超1个赞

因为你放div前面的时候 ,js代码先于 video这个标签下载,然后开始执行代码,取不到video,所以会报错。对于js来说你定义的myVideo为null,所以后面对myVideo的所有操作都不生效且报错。你可以把你的JS代码外边加上这么一层:

window.onload = function(){
    Your Code ;
}

这个window事件的意思是等Dom加载结束之后再执行里边的代码,这样就能取到video了,JS代码的位置就没有限制了。

查看完整回答
反对 回复 2015-03-28
  • 1 回答
  • 0 关注
  • 2096 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信