2013-09-30 36 views
0

对不起,模糊的标题,但这里是我的问题:Javascript编码似乎失速

我有一个HTML表,我从Javascript生成,这是很好,表生成按预期没有问题。

当用户点击一个单元格时,它会突出显示该单元格(或者如果该单元格突出显示,则取消突出显示),这可以再次正常工作。

然后,我们需要拖动单元格(同时鼠标停下)并突出显示它们悬停的单元格的功能,这是我设法做的,但它不是最好的解决方案,所以有人问我们是否可以选择单元格,然后将鼠标悬停在另一个单元格上,其间的所有单元格都会高亮显示。

For example : 

Start Cell = Row 1, Cell 1 

End Cell = Row 3, Cell 3 

Highlighted Cells = R1C1, R1C2, R1C3, R2C1, R2C2, R2C3, R3C1, R3C2, R3C3. 

我设法排序得到这个解决方案正常工作,这里是一个JSFiddle显示解决方案,如果您单击第一个单元格,并按住鼠标并拖动到正常工作的最后一个单元格。

我的问题是,如果你在最后一个单元格(左下)拖到顶部电池(右上)的高亮效果,似乎直到你第2行或3

随机拖延有什么为什么会发生这种情况?我的代码不正确/效率低下吗?

我一直坚持这一段时间,似乎无法找到任何原因,为什么它会发生。

任何帮助,非常感谢。

P.S. - 这个解决方案MUST是一个完全的Javascript解决方案,不幸的是,这个解决方案不能使用jQuery,因为我们要求这是一个HTML文件,并且必须可以在没有Internet连接的情况下使用。

+3

鸡蛋里挑骨头:jQuery是JavaScript的。如果您想使用它,可以使用内联脚本标记将其放入页面中。 –

+0

公平点,我认为今天只是一个愚蠢的日子。但我仍然认为这个问题会持续下去?我会用jQuery去解决它。 – Nunners

+0

将代码的可用部分更改为jQuery并未解决问题,同样的问题也会发生。 – Nunners

回答

3

当你提取的rowNum和cellNum,在ClickCell功能,你得值转换为整数:

var RowNum = parseInt(cellID.substring(1, cellID.indexOf('C')), 10); 
var CellNum = parseInt(cellID.substring(cellID.indexOf('C') + 1, cellID.length), 10); 
+0

感谢您注意到这一点,但这并不能解决我所遇到的问题。 – Nunners

+0

真的吗?我正确的测试,它的接缝工作完美我已更新小提琴:http://jsfiddle.net/ujhUm/4/ – peernohell

+0

对不起,今天有一些愚蠢的时刻......这现在工作正常,非常感谢: ) – Nunners