我写的这段代码怎么不能再浏览器中显示不出效果,请帮我看一下我错在哪里,谢谢!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
    window.onload=function(){
        var canvas=document.getElementById("canvas");
        if(canvas.getContext("2d")){
            var context=canvas.getContext("2d");
        }else{
            alert("当前浏览器不支持canvas,请更换浏览器后再试!");
        }
        var tangram=[
            {p:[{x:0,y:0},{x:800,y:0},{x:400,y:400}],color:"#caff67"},
            {p:[{x:0,y:0},{x:400,y:400},{x:0,y:800}],color:"#67becf"},
            {p:[{x:800,y:0},{x:800,y:400},{x:600,y:600},{x:600,y:200}],color:"#ef3d61"},
            {p:[{x:600,y:200},{x:600,y:600},{x:400,y:400}],color:"#f9f51a"},
            {p:[{x:400,y:400},{x:600,y:600},{x:400,y:800},{x:200,y:600}],color:"#594c0"},
            {p:[{x:200,y:600},{x:400,y:800},{x:0,y:800}],color:"#fa8ecc"},
            {p:[{x:800,y:400},{x:800,y:800},{x:400,y:800}],color:"#f6ca29"}
        ];
        window.onload=function(){
            var canvas=document.getElementById("canvas");
            canvas.width=800;
            canvas.height=800;
            var context=canvas.getContext("2d");
            for(var i=0;i<tangram.length;i++){
                draw(tangram[i],context);
            }
        }
        function draw(piece,cxt){
            cxt.beginPath();
            cxt.moveTo(piece.p[0].x,piece.p[0].y);
            for(var i=1;i<piece.p.length;i++){
                cxt.lineTo(piece.p[i].x,piece.p[i].y);
            }
            cxt.closePath();
            cxt.fillStyle=piece.color;
            cxt.fill();
        }
    }
</script>
</head>

<body>
    <canvas id="canvas" width="1024" height="768" style="border:1px solid #aaa;display:block;margin:50px auto;"></canvas>

</body>
</html>


慕粉3215732
浏览 1097回答 1
1回答

李晓健

 window.onload=function(){             var canvas=document.getElementById("canvas");             canvas.width=800;             canvas.height=800;             var context=canvas.getContext("2d");             for(var i=0;i<tangram.length;i++){                 draw(tangram[i],context);             }         }这里多写了一层 window.onload,因为你上面已经有了一层,所以这层不必要了,应该是window.onload=function(){     var canvas=document.getElementById("canvas");     if(canvas.getContext("2d")){         var context=canvas.getContext("2d");     }else{         alert("当前浏览器不支持canvas,请更换浏览器后再试!");     }     var tangram=[         {p:[{x:0,y:0},{x:800,y:0},{x:400,y:400}],color:"#caff67"},         {p:[{x:0,y:0},{x:400,y:400},{x:0,y:800}],color:"#67becf"},         {p:[{x:800,y:0},{x:800,y:400},{x:600,y:600},{x:600,y:200}],color:"#ef3d61"},         {p:[{x:600,y:200},{x:600,y:600},{x:400,y:400}],color:"#f9f51a"},         {p:[{x:400,y:400},{x:600,y:600},{x:400,y:800},{x:200,y:600}],color:"#594c0"},         {p:[{x:200,y:600},{x:400,y:800},{x:0,y:800}],color:"#fa8ecc"},         {p:[{x:800,y:400},{x:800,y:800},{x:400,y:800}],color:"#f6ca29"}     ];     var canvas=document.getElementById("canvas");     canvas.width=800;     canvas.height=800;     var context=canvas.getContext("2d");     for(var i=0;i<tangram.length;i++){         draw(tangram[i],context);     }     function draw(piece,cxt){         cxt.beginPath();         cxt.moveTo(piece.p[0].x,piece.p[0].y);         for(var i=1;i<piece.p.length;i++){             cxt.lineTo(piece.p[i].x,piece.p[i].y);         }         cxt.closePath();         cxt.fillStyle=piece.color;         cxt.fill();     } }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript