0

あいまいなタイトルで申し訳ありませんが、ここに私の問題があります:

私は Javascript から生成している HTML テーブルを持っています。これは問題なく、テーブルは問題なく期待どおりに生成されます。

ユーザーがセルをクリックすると、そのセルが強調表示されます (または、セルが強調表示されている場合は強調表示が解除されます)。これも正常に機能します。

次に、セルをドラッグして (マウスがダウンしている間)、ホバリングしたセルを強調表示する機能が必要でした。別のセルとその間のすべてのセルが強調表示されます。

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.

最初のセルをクリックしてマウスを押したまま最後のセルにドラッグすると、問題なく動作します

私の問題は、最後のセル (左下) から一番上のセル (右上) にドラッグすると、行 2 または 3 になるまで強調表示効果がランダムに停止するように見えることです。

これが発生する理由はありますか?私のコードはこれに対して正しくない/非効率的ですか?

私はしばらくこれに固執しており、それが発生する理由を見つけることができないようです.

どんな助けでも大歓迎です。

PS - このソリューションは完全な Javascript ソリューションである必要があります。残念ながら、jQuery をこのソリューションに使用することはできません。これは、単一の HTML ファイルである必要があり、インターネット接続なしで使用できる必要があるためです。

4

1 に答える 1

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);
于 2013-09-30T13:51:06.750 に答える