Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正在用HTML设计一个国际象棋游戏,我想把一个棋子从一个位置改成另一个位置_Javascript_Html - Fatal编程技术网

Javascript 我正在用HTML设计一个国际象棋游戏,我想把一个棋子从一个位置改成另一个位置

Javascript 我正在用HTML设计一个国际象棋游戏,我想把一个棋子从一个位置改成另一个位置,javascript,html,Javascript,Html,我使用按钮设计了棋盘。最初,按钮上的所有值都将为空,加载页面时,所有棋子都会出现在它们上面,代码如下 <input type="button" id="A8" value="" style="background:#FFE4C4;font-size: 70px;height:90;width:100" onclick="check(this.id)"> 现在我想要的是,点击两个按钮,将一个按钮更改为另一个按钮 function check(clicked_id) { var

我使用按钮设计了棋盘。最初,按钮上的所有值都将为空,加载页面时,所有棋子都会出现在它们上面,代码如下

<input type="button" id="A8" value="" style="background:#FFE4C4;font-size: 70px;height:90;width:100" onclick="check(this.id)">
现在我想要的是,点击两个按钮,将一个按钮更改为另一个按钮

function check(clicked_id) {
    var Button_2 = "";
    if (i < 2) {
        i++;
        // alert("i:"+i);        
        if (i == 1) {
            Button_1 = clicked_id;
            B1_val = document.getElementById(Button_1).value;
            alert("B1 Button val:" + B1_val);
        }
        if (i == 2) {
            var Button_2 = clicked_id;
            B2_val = document.getElementById(Button_2).value;
            alert("b1 val:" + B1_val);
            alert("B2 val:" + B2_val);
            B2_val = B1_val;
            B1_val = "";
            alert("B1 val:" + B1_val + "B2 val:" + B2_val);
        }
    } else {
        alert("Only 2 butons should press..i:" + i);
        i = 0;
    }
    // alert("clcked a button:"+clicked_id);
}
功能检查(单击\u id){
var按钮_2=“”;
如果(i<2){
i++;
//警报(“i:+i”);
如果(i==1){
按钮\u 1=单击的\u id;
B1_val=document.getElementById(按钮_1).value;
警报(“B1按钮val:+B1_val”);
}
如果(i==2){
var按钮\u 2=单击的\u id;
B2_val=document.getElementById(按钮_2).value;
警报(“b1 val:+b1_val”);
警报(“B2 val:+B2_val”);
B2_val=B1_val;
B1_val=“”;
警报(“B1 val:+B1_val+”B2 val:+B2_val);
}
}否则{
警报(“只有2个按钮应按下..i:+i”);
i=0;
}
//警报(“clcked a按钮:“+单击了\u id”);
}

但是代码不起作用

如果您只想将值从第一次单击的位置移动到第二次单击的位置,那么您可以这样做:

var lastClick;

function check(id) {
    var src, dest;
    if (!lastClick) {
        // no previous click so just store the location of this first click
        lastClick = id;
    } else {
        // move value from lastClick id to new id
        src = document.getElementById(lastClick);
        dest = document.getElementById(id);
        dest.value = src.value;
        src.value = "";
        lastClick = null;
    }
}

我假设一个真正的应用程序将需要各种各样的错误处理,不允许您将一块放在另一块上,忽略空白处的第一次单击,只强制执行合法移动,等等。

“但代码不起作用”。怎么做?场景是什么,点击一个按钮,按钮的id,我会得到该按钮的id,当我点击第二个按钮,也会得到。现在,第2个按钮中的值应该替换为第1个按钮的值。我知道但不知道如何完成此应用程序,您的代码正在移动。您能帮我完成此操作吗?@RajeshTamire-我们不会为您编写所有代码。我们已经回答了这个问题。如果你有一个新问题,你可以将其作为一个新问题发布,但请非常具体地说明你需要什么帮助。与其让别人为你写一个完整的程序,不如问你如何做一些具体的事情,并且在你的问题上说得非常清楚
var lastClick;

function check(id) {
    var src, dest;
    if (!lastClick) {
        // no previous click so just store the location of this first click
        lastClick = id;
    } else {
        // move value from lastClick id to new id
        src = document.getElementById(lastClick);
        dest = document.getElementById(id);
        dest.value = src.value;
        src.value = "";
        lastClick = null;
    }
}