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”声明的。

你有什么想法我可以做些什么来调用我的画布绘图功能然后把它放到一张桌子上?

谢谢

4

2 回答 2

0

看看我刚刚完成的这个例子,也许它会对你有所帮助。查看顶部帖子的底部。 在函数中时在画布上绘制圆圈时出错,在函数外工作正常

于 2014-01-03T15:08:08.733 回答
0

确保您在页面头部引用了其他 javascript 绘图文件

<head>

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

</head>

由于您已经在 Gesamtleistung0 中创建了画布,因此您应该能够直接在该外部脚本中调用 drawCanvas,而无需设置任何 innerHTML。

<script>
window.onload=function(){

    ....

    function tester(){

        drawCanvas("myCanvas");

    }

....
于 2013-08-31T15:09:27.217 回答