Javascript 用鼠标拖动选择对角表格单元格
我有一个4x3表格,我发现很难处理对角表格单元格的选择。我用这个代码作为基础。但是,当我单击表格单元格并沿对角线拖动它时,不必要的单元格也会被标记。例如,如果我选择B和F单元格,将标记更多的单元格。A、E和I也是如此。如何仅选择对角线表格单元格Javascript 用鼠标拖动选择对角表格单元格,javascript,jquery,Javascript,Jquery,我有一个4x3表格,我发现很难处理对角表格单元格的选择。我用这个代码作为基础。但是,当我单击表格单元格并沿对角线拖动它时,不必要的单元格也会被标记。例如,如果我选择B和F单元格,将标记更多的单元格。A、E和I也是如此。如何仅选择对角线表格单元格 <table id="table"> <tr> <td>A</td> <td>B</td> <td>C</td> <
<table id="table">
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
<td>J</td>
</tr>
<tr>
<td>D</td>
<td>E</td>
<td>F</td>
<td>B</td>
</tr>
<tr>
<td>G</td>
<td>H</td>
<td>I</td>
<td>K</td>
</tr>
</table>
A.
B
C
J
D
E
F
B
G
H
我
K
js和css代码相同假设您只想选择与矩形图案匹配的单元格: 您需要用更复杂的方法交换
切片
,因为您不想给区域上色,而是要给单元格数组的多个部分上色
示例中的数组如下所示
[A、B、C、D、E、F、G、H、I]
当用户开始拖动索引2
(B)并拖动到5
(F)时,您的代码将在2
到5
的范围内着色。其中包括3
(D)
因此,您需要计算起点和终点位置的列和行偏移,而不是简单地计算范围
如果每一行和每一列都有一个固定的大小(在您的示例3中),那么计算起来就有点容易了:
var列=索引%3代码>
和
var行=数学层(索引/3)代码>
然后,您只需对每个列(在起始列和结束列之间)从起始行迭代到结束行
您可以查看以下快速示例代码:
假设您只想选择与矩形图案匹配的单元格:
您需要用更复杂的方法交换切片
,因为您不想给区域上色,而是要给单元格数组的多个部分上色
示例中的数组如下所示
[A、B、C、D、E、F、G、H、I]
当用户开始拖动索引2
(B)并拖动到5
(F)时,您的代码将在2
到5
的范围内着色。其中包括3
(D)
因此,您需要计算起点和终点位置的列和行偏移,而不是简单地计算范围
如果每一行和每一列都有一个固定的大小(在您的示例3中),那么计算起来就有点容易了:
var列=索引%3代码>
和
var行=数学层(索引/3)代码>
然后,您只需对每个列(在起始列和结束列之间)从起始行迭代到结束行
您可以查看以下快速示例代码:
有问题吗?您的代码是正确的,并且执行它应该执行的操作。。除非您需要其他内容,请描述它。@Rouby当我选择对角线时,我只想选择对角线单元格……而不是其他表格单元格。我的理解是:我使用了“链接”处的代码,我不知道它是什么或如何做的,所以请帮我修复它。kthxbye:|有问题吗?您的代码是正确的,并且执行它应该执行的操作。。除非您需要其他内容,请描述它。@Rouby当我选择对角线时,我只想选择对角线单元格……而不是其他表格单元格。我的理解是:我使用了“链接”处的代码,我不知道它是什么或如何做的,所以请帮我修复它。kthxbye:|我不明白。你能更具体一点吗?为了只突出显示[B]和[F]或任何对角线,我为什么要计算范围?我不是故意粗鲁,但你明白你的代码是什么以及为什么吗?不,我不明白代码。我是javascriptI新手。我不懂。你能更具体一点吗?为了只突出显示[B]和[F]或任何对角线,我为什么要计算范围?我不是故意粗鲁,但你知道你的代码是什么,为什么吗?不,我不懂代码。我是javascript新手