2

JavaScriptで始めたばかりで、「canvasisnull」というエラーが表示されます

function draw() {  

    var canvas = document.getElementById("canvas");  
    var ctx = canvas.getContext("2d"); 
    var width,height;

    width = canvas.width;
    height = canvas.height;

    ctx.fillStyle = "rgb(0,0,0)";  
    ctx.fillRect (10, 10, width, height); 
    ctx.fillStyle = "rgb(200,0,0)";  
    ctx.fillRect (posx, posy, 30, 30); 

}
var posx;
var posy;
function getMouse(e){
    posx=0;posy=0;
    var ev=(!e)?window.event:e;//Moz:IE
    if (ev.pageX){
        posx=ev.pageX;posy=ev.pageY//Mozilla or compatible
    }
    else if(ev.clientX){
        posx=ev.clientX;posy=ev.clientY//IE or compatible
    }
    else{
        return false//old browsers
    }
        document.getElementById('mydiv').firstChild.data='X='+posx+' Y='+posy;
}
setInterval(draw(),1000);

コードは基本的にマウスの位置にボックスを描画します(少なくともそれが想定されていたことです...)

ところで、「canvas」はキャンバスのIDです。ありがとう!

4

1 に答える 1

3

最後の行は次のようになります。

setInterval(draw,1000);

括弧はありません。それ以外の場合は、関数を渡すのではなく、呼び出すことになります。

于 2012-07-10T16:28:27.220 に答える