为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我点击的时候不能落子,而且点击一次,就会在F12的控制台里面报一个错呢?

var chessBoard = [];
var me = true;

for(var i=0; i<15; i++){
    chessBoard[i] = [];
    for(var j=0; j<15; j++){
        chessBoard[i][j] = 0;
    }
}

var chess = document.getElementById('chess');
var context = chess.getContext('2d');

context.strokeStyle = "#BFBFBF";

var logo = new Image();
logo.src = "images/logo.jpg";
logo.onload = function() {
    context.drawImage(logo, 0, 0, 450, 450);
    drawChessBoard();
}

var drawChessBoard =function(){
    for(var i=0; i<15; i++){
        context.moveTo(15 + i*30, 15);
        context.lineTo(15 + i*30, 435);
        context.stroke(); 
        context.moveTo(15, 15 + i*30);
        context.lineTo(435, 15 + i*30);
        context.stroke();   
    }
}

var oneStep = function(i, j, me){
    context.beginPath();
    context.arc(15 + i*30, 15 + j*30, 13, 0, 2 * Math.PI);
    context.closePath();
    var gradient = context.createRadialGradient(15 + i*30 + 2, 15 + j*30 - 2, 13, 15 + i*30 + 2, 15 + j*30 - 2, 0);
    if (me) {
        gradient.addColorStop(0, "#0A0A0A");
        gradient.addColorStop(1, "#636766");
    } else {
        gradient.addColorStop(0, "#D1D1D1");
        gradient.addColorStop(1, "#F9F9F9");
    }
    context.fillStyle = gradient;
    context.fill();
}

chess.onclick = function(e) {
    var x = e.offSetX;
    var y = e.offSetY;
    var i = Math.floor(x / 30);
    var j = Math.floor(y / 30);
    if(chessBoard[i][j] == 0){
        oneStep(i, j, me);
        if(me){
            chessBoard[i][j] = 1;
        } else {
            chessBoard[i][j] = 2;
        }
        me = !me;
    }
}


正在回答

1 回答

var x = e.offsetX; offSetX改成offsetX试试,大小写的问题

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我点击的时候不能落子,而且点击一次,就会在F12的控制台里面报一个错呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信