0

まず第一に、キャンバス要素を描画するのに役立つ簡単な解決策を得ました。コードは HTML では次のようになります。

...
<td align="center" class="TableUnten" id="Gesamtleistung0">
            <canvas id="myCanvas"></canvas>                
            <script type="text/javascript">
                drawCanvas("myCanvas");
            </script>
</td>
...

そしてここでjsで:

function drawCanvas(canvasname) {
    var cv = document.getElementById(canvasname);
    var ctx = cv.getContext('2d');
    //...

これは機能し、キャンバスがテーブルに表示されます。

しかし、今は別の .js ファイルで関数呼び出しを行いたいと考えています。だから私はこれがうまくいくと思った:

function tester() {
    document.getElementById("Gesamtleistung0").innerHTML = drawCanvas("myCanvas");
}

問題は、変数 cv にキャンバス要素の名前「mycanvas」が含まれておらず、「null」と表示されていることです。一方、変数 canvasname は「myCanvas」で宣言されています。

canvas-drawing-function を呼び出して、それをテーブルに入れるために私ができることはありますか?

ありがとう

4

2 に答える 2

0

完成したばかりのこの例を見てください。役立つかもしれません。トップポストの一番下を見てください。 関数内にあるときにキャンバスに円を描画するとエラーが発生し、関数の外では正常に動作します

于 2014-01-03T15:08:08.733 に答える
0

ページの先頭で他の JavaScript 描画ファイルを参照していることを確認してください

<head>

    <script type="text/javascript" src="yourDrawingFile.js"></script>

</head>

Gesamtleistung0 内で既にキャンバスを作成しているため、innerHTML を設定しなくても、その外部スクリプトで drawCanvas を直接呼び出すことができるはずです。

<script>
window.onload=function(){

    ....

    function tester(){

        drawCanvas("myCanvas");

    }

....
于 2013-08-31T15:09:27.217 に答える