2011-01-22 23 views
10

Ben Aşağıdaki HTML kodu beklendiği gibi çalışıroluşturma HTML5 Canvas programlı

<body onload="main()" > 
    ... 
    <canvas id="myId" class="myClass"></canvas> 
    ... 
</body> 

parçacıkları var. Çıkışı doğru görüntüleyebilirim. Aşağıdaki JavaScript kodu ile programlı oluşturmak ister Ne yazık ki, işe yaramadı

var canvas = document.createElement("canvas"); 
canvas.className = "myClass"; 
canvas.id = "myId"; 

pasajı Çünkü

Sonra

<canvas id="myId" class="myClass"></canvas> 

kaldırın. Bununla hiçbir şey gösteremiyorum.

Bir şey özlediğimi merak ediyorum. Herhangi bir yardım takdir edilir. Yardımlarınız için şimdiden teşekkür ederiz.

cevap

9

Tuvali aslında belgeye eklemeniz gerekir. Bunu yapmadan önce, tarayıcının işlemediği tek bir öğe.

var canvas = /* ... */; 
/* ... */ 
document.getElementsByTagName('body')[0].appendChild(canvas); 
+0

@Ben, @Matt - Her iki çözüm de çalışır. Her ikisi için de oy verildi. Çok teşekkürler! – pion

+1

@pion: Rica ederim. Sadece cevaplarımızın birbirimize 1 saniye içinde gönderildiğini fark ettim. –

21

Yeni <canvas> öğelerini DOM'a eklemeniz gerekir. Vücudun sonuna koymak için, onu oluşturan kodla kullanın:

document.body.appendChild(canvas); 

. (Farklı bir öğenin içine koymak istiyorsanız, bunu document.body yerine kullanın.)

İlgili konular