javascript - 使用功能保持图像源更改

标签 javascript html function

对于井字游戏,我使用以下代码将图像源更改为“x”或“o”:

var player = 1;    

function changePicture(picture){
        if(player === 1){
            document.getElementById(picture).src = "images/o.png";
            player = 2;
        }
        else if(player === 2){
            document.getElementById(picture).src = "images/x.png";
            player = 1;
        }
    }

但是,如果之后单击它们,我希望保持 x 和 o 不变。

最佳答案

您可以维护板上每个元素内的状态:

function changePicture(picture)
{
    var pic = document.getElementById(picture);

    if (pic._clicked) { return; }

    // mark it
    pic._clicked = player;
    pic.src = (player === 1 ? "images/o.png" : "images/x.png";

    // swap player
    player = 3 - player;
}

这使用图片元素上的 _clicked 属性;此属性不应与任何现有属性冲突。它基本上用点击它的玩家来标记图片元素,这样它就不会改变,你稍后会知道最后点击它的人是谁。

关于javascript - 使用功能保持图像源更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16424368/

相关文章:

arrays - Powershell中的奇怪脚本问题

c++ - c++ 函数签名附加关键字是什么?

javascript - 如何点击网站中没有 ID 或名称的登录图像?

javascript - 指令中的增量值

javascript - 使用 jQuery 将 $ 包装在 span 中

html - 如何删除 Safari 中 HTML5 视频上方/下方的多余空间?

html - 无法将导航栏中的图像与菜单的其余部分垂直对齐

javascript - 如何进行基于权限的UI显示

javascript - JS下拉菜单不起作用

javascript - 返回动态值作为参数