為什么無法出現七巧板?
<!doctype html>
<html>
<head>
?? ?<meta charset="utf-8">
?? ?<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
?? ?<title>tes6--H5關于七巧板</title>
?? ?<style type="text/css">
?? ?#myCanvas{display:block;border:1px solid #f00; margin:50px auto;}
?? ?</style>
</head>
<body>
?? ?<canvas id="myCanvas" width="800" height="800"></canvas>
</body>
<script type="text/javascript">
$(document).ready(function(){
?? ?var sev=[
?? ??? ?{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:"#67beef"},
?? ??? ?{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:"#a594c0"},
?? ??? ?{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},{x:600,y:200}],color:"#f6ca29"}
?? ?]
?? ?window.onload=function(){
?? ??? ?var box=document.getElementById('myCanvas');
?? ??? ?var picture=box.getContext('2d');
?? ??? ?for(i=0;i<sev.length;i++){
?? ??? ??? ?draw(sec[i],picture);
?? ??? ?}
?? ?}
?? ?function draw(piece,pic){
?? ??? ?pic.beginPath();
?? ??? ?pic.moveTo(piece.p[0].x,piece.p[0].y);
?? ??? ?for(i=0;i<piece.p.length;i++){
?? ??? ??? ?pic.lineTo(piece[i].x,piece[i].y)
?? ??? ?}
?? ??? ?pic.closePath();
?? ??? ?pic.fillStyle=piece.color;
?? ??? ?pic.fill();
?? ?}
})
</script>
</html>
2016-05-27
這是根據你的代碼稍作了點修改,你的錯誤在于function draw里面的循環語句寫錯了,求最佳求最佳
2022-03-26
用left也是可以的,老師只是教了使用絕對定位布局的一種方法,畢竟不是很常用,所以沒有面面俱到而已為什么我的代碼和你們的不一樣???
2016-05-27
錯誤一:調用draw()函數時第一個參數拼寫錯誤,sev不是sec;錯誤二:drow函數內部的for循環中,pic.lineTo(piece[i].x,piece[i].y ?應改為 ?pic.lineTo(piece.p[i].x,piece.p[i].y。而且沒懂你為啥要用jquery