【问题标题】:javascript's drawing with canvas error带有画布错误的javascript绘图
【发布时间】:2014-01-19 11:08:58
【问题描述】:

我在这段代码中找不到错误。该代码用于根据用户的输入使用画布绘制图形。它给我带来了 2 个错误:

Uncaught TypeError: undefined is not a function canvas.html?option=circulo:14

未捕获的类型错误:无法调用 null 的方法 'getContext'

var my_canvas = document.getElementById("a");
var con = my_canvas.getContext("2d");

var check = function(){
    if((document.getElementById('opcion').value) === 'circulo'){
        con.beginPath();
        con.arc(75, 75, 20, 0, 2*Math.PI);
        con.closePath();
    }else if((document.getElementById('opcion').value) === 'rectangulo'){
        con.strokeRect(100,100,20,50);

    }else if((document.getElementById('opcion').value) === 'arcos'){
       con.beginPath();
       con.arc(75,75,35,0,Math.PI);
       con.stroke();
    }else{
        alert("Ha ingresado un valor invalido");
    }
};

【问题讨论】:

    标签: javascript html canvas


    【解决方案1】:

    您的 document.getElementById("a") 不起作用。你的画布的id真的是“a”吗?你的 html 是不是像这样:

    <canvas id="a" width="200" height="100"></canvas> 
    

    如果您确实有一个 id 为“a”(id,而不是类)的画布,那么您的代码可能需要在 window.onload 函数中,因为它在您的文档加载之前运行。

    【讨论】:

    • 您的代码是否在 window.onload 函数中,可能在运行时尚未加载。
    • 我认为这是问题所在。我现在把脚本放在画布标签之后,它工作正常。
    猜你喜欢
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多