单击元素后禁用.toggleClass

McDiabetes

我正在尝试创建一个tictactoe游戏。玩家1选择他的标记x或o,然后出现tictactoe板。玩家1的标记(例如x)会在其悬停在一个空单元格上时以0.5的不透明度出现。单击时,该单元格会接收一个.addClass(“ clicked”),该标记会以1的不透明度将标记插入该单元格。我有一个.toggleClass函数,可以在播放器标记之间切换。我希望玩家1的x保留在棋盘上,而玩家2的悬停则在任何空白单元格上显示一个o。我遇到的问题是,在单击一个单元格以添加我的x后,整个面板会切换类。我希望每个没有类“单击”的单元格进行切换。我怎样才能做到这一点?

这是如果玩家1选择x的代码

case "x":
    $(function(){
        $(".board").addClass("o");
        $("td").click(function(){
            $(this).children("p").addClass("clicked x");
            $(".board").toggleClass("x o");
        });
    });
    break;

的CSS

.x td:hover p {
    content:url("images/X.png");
    opacity:0.5;
    cursor:pointer;
}

.o td:hover p {
    content:url("images/O.png");
    opacity:0.5;
    cursor:pointer;
}

.x .clicked {
    content:url("images/X.png");
    opacity:1;
}

.o .clicked {
    content:url("images/O.png");
    opacity:1;
}

的HTML

        <table class="hidden board" cellspacing="0">
            <p class="bigTitle hidden" id="turn">Player Turn</p>
            <tbody>
            <tr>
                <td id="a1"><p></p></td>
                <td id="a2"><p></p></td>
                <td id="a3"><p></p></td>
            </tr>
            <tr>
                <td id="b1"><p></p></td>
                <td id="b2"><p></p></td>
                <td id="b3"><p></p></td>    
            </tr>
            <tr>
                <td id="c1"><p></p></td>
                <td id="c2"><p></p></td>
                <td id="c3"><p></p></td>    
            </tr>
            </tbody>
        </table>
大卫

将功能添加到每个单独的单元而不是板上,并在功能内检查该单元是否具有clicked该类。

$(function(){
    $(".board td").addClass("o");
    $("td").click(function(){
        if( $(this).hasClass('clicked') ) {
            $(this).children("p").addClass("clicked x");
            $(this).toggleClass("x o");
        }
    });
});

相应地修改CSS选择器,例如

td.o:hover p { ...
.x.clicked { ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击n个<div>元素的toggleClass

来自分类Dev

jQuery ToggleClass在多个元素上

来自分类Dev

在toggleClass之后使元素可拖动

来自分类Dev

jQuery toggleClass定位正确的元素

来自分类Dev

jQuery单击在特定div中找到的多个元素的toggleClass

来自分类Dev

单击特定的div区域时防止toggleClass

来自分类Dev

toggleClass不保留先前的单击事件jQuery

来自分类Dev

jQuery toggleclass和单击不起作用

来自分类Dev

如果再次单击,javascript 不会 .toggleClass() 吗?

来自分类Dev

jQuery:执行toggleClass后执行函数

来自分类Dev

jQuery:在执行toggleClass后执行函数

来自分类Dev

toggleClass打开后不关闭div

来自分类Dev

如何toggleClass一个扩展元素?

来自分类Dev

防止在多个元素上使用ToggleClass

来自分类Dev

jQuery toggleclass到多个元素使用数组

来自分类Dev

父级悬停时元素的toggleClass

来自分类Dev

jQuery-使用toggleClass时的单击处理程序

来自分类Dev

在表中单击带有功能toggleClass的表

来自分类Dev

toggleClass()在第一次后不起作用

来自分类Dev

用户生成的元素上的ToggleClass()不起作用

来自分类Dev

ToggleClass在具有相似类的多个元素上

来自分类Dev

ToggleClass在具有相似类的多个元素上

来自分类Dev

toggleClass持续时间不适用于伪元素

来自分类Dev

当元素位于单独的 div 中时,如何使 toggleClass jQuery 工作?

来自分类Dev

JQuery - 单个元素上的 toggleClass 和 removeClass 功能

来自分类Dev

ToggleClass与bxSlider

来自分类Dev

带有单选的jQuery toggleClass-左键单击和右键单击都可以

来自分类Dev

在Angular中单击元素后如何禁用它

来自分类Dev

jQuery toggleClass起作用,单击时添加.text()替换会破坏它

Related 相关文章

热门标签

归档