如何在条件下在Javascript中交错函数?

时间:2017-09-02 18:44:37

标签: javascript jquery

这是我的问题:
我正在编写一个小游戏,您需要通过鼠标点击在屏幕上连接表格中的数字。按下正确的数字后,它们将通过一行连接,这是一个png文件,宽度和高度为0。单击具有正确数字的单元格后,这会发生变化。现在,它可以工作,但你可以一遍又一遍地按下第一个单元格以获得所有的线条。我现在正在努力寻找解决方案,但对我来说没有任何作用。
谢谢你 这是代码:

cellNumber = 49;
$("#cell_"+cellNumber).click(function()
{
    $("#line_"+lineCounter).attr("width", "600px");
    $("#line_"+lineCounter).attr("height", "440px");
    cellNumber = 65;
    lineCounter++;
    $("#cell_"+cellNumber).click(function()
    {
        $("#line_"+lineCounter).attr("width", "600px");
        $("#line_"+lineCounter).attr("height", "440px");
        cellNumber = 110;
        lineCounter++;
        $("#cell_"+cellNumber).click(function()
        {
            $("#line_"+lineCounter).attr("width", "600px");
            $("#line_"+lineCounter).attr("height", "440px");
            cellNumber = 112;
            lineCounter++;
            $("#cell_"+cellNumber).click(function()
            {
                $("#line_"+lineCounter).attr("width", "600px");
                $("#line_"+lineCounter).attr("height", "440px");
            });
        });
    });
});

2 个答案:

答案 0 :(得分:0)

您无法嵌套点击事件,这是违反直觉的。 Click事件在文档就绪事件时绑定到对象,因此必须在document.ready()函数内才能工作。

$(document).ready(function() {
    cellNumber = 49;
    $("#cell_"+cellNumber).click(function() {
        $("#line_"+lineCounter).attr("width", "600px");
        $("#line_"+lineCounter).attr("height", "440px");
        cellNumber = 65;
        lineCounter++;
    });
    $("#cell_"+cellNumber).click(function() {
        $("#line_"+lineCounter).attr("width", "600px");
        $("#line_"+lineCounter).attr("height", "440px");
        cellNumber = 110;
        lineCounter++;
    });
    $("#cell_"+cellNumber).click(function() {
        $("#line_"+lineCounter).attr("width", "600px");
        $("#line_"+lineCounter).attr("height", "440px");
        cellNumber = 112;
        lineCounter++;
    });
    $("#cell_"+cellNumber).click(function() {
        $("#line_"+lineCounter).attr("width", "600px");
        $("#line_"+lineCounter).attr("height", "440px");
    });
});

答案 1 :(得分:0)

如何从正确选择的单元格中删除点击;

cellNumber = 49;
    $("#cell_"+cellNumber).on('click', function()
    {
        $("#line_"+lineCounter).attr("width", "600px");
        $("#line_"+lineCounter).attr("height", "440px");
        $("#cell_"+cellNumber).off('click')
        cellNumber = 65;
        lineCounter++;
        $("#cell_"+cellNumber).on('click', function()
        {
            $("#line_"+lineCounter).attr("width", "600px");
            $("#line_"+lineCounter).attr("height", "440px");
           $("#cell_"+cellNumber).off('click')
            cellNumber = 110;
            lineCounter++;
            $("#cell_"+cellNumber).on('click', function()
            {
                $("#line_"+lineCounter).attr("width", "600px");
                $("#line_"+lineCounter).attr("height", "440px");
                $("#cell_"+cellNumber).off('click')
                cellNumber = 112;
                lineCounter++;
                $("#cell_"+cellNumber).click(function()
                {
                    $("#line_"+lineCounter).attr("width", "600px");
                    $("#line_"+lineCounter).attr("height", "440px");
                });
            });
        });
    });