首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在某些情况下,尝试禁用DOM created按钮

在某些情况下,尝试禁用DOM created按钮
EN

Stack Overflow用户
提问于 2015-10-29 05:36:39
回答 1查看 34关注 0票数 1

我正在尝试遍历一个4x4的网格,其中第一行是禁区。基本上,这给我们留下了一个3x4的网格。我有4个按钮来控制方向(上/下/左/右)。

如果我在4x2的位置(记住第一行不应该被访问,因为它是一个标题),并且我按右键,应该不会发生任何事情,因为这将是第五个位置。如果我是在1x2,我应该也不能按左键。最后,如果我在底部行的任何位置(1x4、2x4、3x4或4x4),我应该不能按下向下箭头。

不幸的是,我不理解一些东西,因为它总是向右/向左/向下/向上。这是我尝试过的:

代码语言:javascript
复制
down.addEventListener("click",function()
{   
    if(document.getElementsByTagName("td")[cellCounter] != 3)
    {
        if(document.getElementsByTagName("td")[cellCounter] != 7)
        {
            if(document.getElementsByTagName("td")[cellCounter] != 11)
            {
                cellCounter += 4;
                document.getElementsByTagName("td")[cellCounter].style.border = "5px solid black";
                document.getElementsByTagName("td")[cellCounter-4].style.border = "1px solid black";
            }
        }
    }
});

所以我决定做一个函数来禁用我的up/left/right/down可能更简单。我决定如果cellNum == 0-3可以禁用,如果cellNum == 0,4,8左边可以禁用,cellNum == 8-11关闭,如果cellNum == 3,7,11右边可以禁用。

但是我该如何实现它呢?如何禁用没有id的按钮,以及如何识别它?您可以查看我的大部分工作代码here

EN

回答 1

Stack Overflow用户

发布于 2015-10-29 06:15:15

好的,我将给你一个如何解决它的例子。试一试,让我们知道你做得怎么样,以及你尝试过什么。

代码语言:javascript
复制
var table = document.getElementById('table');
var up = document.getElementById('up');
var down = document.getElementById('down');

var ri = 1, ci = 0;

up.addEventListener('click', function(e){
   highlight(-1);
});

down.addEventListener('click', function(e){
   highlight(1);
});

function highlight(offset){
   
   if((ri + offset) > 0 && (ri + offset < table.rows.length)){
     table.rows[ri].cells[ci].style.background = 'initial';
     ri = ri + offset;
     table.rows[ri].cells[ci].style.background = '#A7A8A9';
     
   }
   else if((ri + offset) == 0){
     table.rows[1].cells[ci].style.background = '#A7A8A9';
   }
   else{
       table.rows[table.rows.length - 1].cells[ci].style.background = '#A7A8A9';
   }
}
代码语言:javascript
复制
<table border='1' id='table'>
    <tr><th>Col 1</th><th>Col 2</th><th>Col 3</th></tr>
    <tr><td>Cell 1,1</td><td>Cell 1,2</td><td>Cell 1,3</td></tr>
    <tr><td>Cell 2,1</td><td>Cell 2,2</td><td>Cell 2,3</td></tr>
    <tr><td>Cell 3,1</td><td>Cell 3,3</td><td>Cell 3,3</td></tr>
</table>

<button id='up'>Up</button>
<button id='down'>Down</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33402023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档