亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么無法出現七巧板?

<!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>

正在回答

3 回答

<!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">
window.onload=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"}
????]


????????var?box=document.getElementById('myCanvas');
????????var?picture=box.getContext('2d');
????????for(j=0;j<sev.length;j++){
????????????draw(sev[j],picture);
????????}
????
????function?draw(piece,pic){
????????pic.beginPath();
????????pic.moveTo(piece.p[0].x,piece.p[0].y);
????????for(i=1;i<piece.p.length;i++){
????????????pic.lineTo(piece.p[i].x,piece.p[i].y)
????????}?
????????pic.closePath();
????????pic.fillStyle=piece.color;
????????pic.fill();
????}
}
</script>
</html>

這是根據你的代碼稍作了點修改,你的錯誤在于function draw里面的循環語句寫錯了,求最佳求最佳


0 回復 有任何疑惑可以回復我~
#1

qq_無意間哼出的旋律_0 提問者

非常感謝!
2016-06-01 回復 有任何疑惑可以回復我~

用left也是可以的,老師只是教了使用絕對定位布局的一種方法,畢竟不是很常用,所以沒有面面俱到而已???

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

錯誤一:調用draw()函數時第一個參數拼寫錯誤,sev不是sec;錯誤二:drow函數內部的for循環中,pic.lineTo(piece[i].x,piece[i].y ?應改為 ?pic.lineTo(piece.p[i].x,piece.p[i].y。而且沒懂你為啥要用jquery

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

舉報

0/150
提交
取消
炫麗的倒計時效果Canvas繪圖與動畫基礎
  • 參與學習       96883    人
  • 解答問題       1029    個

學習HTML5中最激動人心的技術Canvas,徹底釋放自己的創造力

進入課程

為什么無法出現七巧板?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號