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

为什么js放在canvas后面才可以显示圆形效果,将script放在head和canvas前都没效果

<body>

<!--<script src="js/time.js"></script>        没效果-->

<div>

<canvas id="clock" height="200" width="200"></canvas> 

</div>

</body>

<script src="js/time.js"></script>      <!--有效果-->


正在回答

2 回答

浏览器的执行顺序是从上到下加载解析的,放在head的js文件会比body中的html元素优先执行,此时canvas元素还未被浏览器解析渲染出来,所以没有效果

可以在将代码放在

 window.onload = function () {

    // 具体代码

}

中,这样就能保证js文件先执行也能渲染出时钟

0 回复 有任何疑惑可以回复我~

浏览器加载文件是逐行加载,如果放在 canvas 之前,浏览器将优先解析 js 文件,此时 canvas 还没有解析出来,控制台会报错且页面没有任何效果。

所以文件位置的安排很重要。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Canvas 绘制时钟
  • 参与学习       49750    人
  • 解答问题       160    个

canvas画出漂亮的时钟,通过本教程能重新掌握一些几何知识

进入课程

为什么js放在canvas后面才可以显示圆形效果,将script放在head和canvas前都没效果

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信