[英]How can I interlace functions in Javascript with conditions?
这是我的问题:
我正在编写一个小游戏,您需要用鼠标单击在屏幕上连接表中的数字。 按正确的数字后,它们将通过一条线连接,这是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");
});
});
});
});
您不能嵌套单击事件,这是违反直觉的。 单击事件在文档就绪事件上绑定到对象,因此必须在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");
});
});
如何从正确选择的单元格中删除点击;
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");
});
});
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.