Html5关于一个Canvas的问题

枫云亦然 2016-09-10 05:48:51
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>canvas</title>
<style>
#text{width:500px;height: 500px;}
</style>
<script type="text/javascript">
function draw(){
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.moveTo(10,10);
cxt.lineTo(150,50);
cxt.lineTo(10,50);
cxt.stroke();
}
window.onload=draw();
</script>
</head>
<body>
<canvas id="myCanvas"></canvas>
</body>
</html>

上面这段代码把js放在body底部就有效果,放在head里面就没效果,可我明明用window.onload让文档先加载完成在执行JS代码了,求大神解答下....
...全文
151 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
业余草 2016-09-13
  • 打赏
  • 举报
回复
当页面加载的时候可以调用某些函数 例如定义一个function a(){ } window.onload = a; 在页面加载的时候就可以调用函数a了 还可以 window.onload = =function() { a(); b(); } 来调用多个方法 问题解决了没,可以结贴了吧 www.xttblog.com
天际的海浪 2016-09-13
  • 打赏
  • 举报
回复
引用 3 楼 qq_32668097 的回复:
[quote=引用 1 楼 jslang 的回复:] window.onload=draw;
加括号与不加括号有什么区别? 请大神解释一下[/quote] JS中的函数是一种叫做Function引用类型的实例,因此函数是一个对象。函数名则是指向这个对象的引用地址。 做为一个对象,函数是可以赋值传递的。 window.onload是个事件,事件所需要的是函数对象的引用地址。 函数名后面的不加圆括号()就是获取函数对象的引用地址,(这样不调用执行函数)。 如: window.onload=draw; 表示把函数名draw这个对象的引用地址赋值给window.onload。 函数名后面的圆括号()实际上是调用(执行)函数的运算符。 如果函数名后面加上圆括号就表示立即调用(执行)这个函数里面的代码。
qq_32668097 2016-09-13
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
window.onload=draw;
加括号与不加括号有什么区别? 请大神解释一下
  • 打赏
  • 举报
回复
楼上正解。。
天际的海浪 2016-09-10
  • 打赏
  • 举报
回复
window.onload=draw;

39,085

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧