Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. <style>
  2. table {
  3. border: 1px solid black;
  4. border-collapse: collapse;
  5. }
  6.  
  7. td {
  8. width: 50px;
  9. height: 50px;
  10. border: 1px solid black;
  11. }
  12.  
  13. .red {
  14. background: red;
  15. }
  16. </style>
  17. <table>
  18. <tr data-row="1">
  19. <td data-col="1"></td>
  20. <td data-col="2"></td>
  21. <td data-col="3"></td>
  22. <td data-col="4"></td>
  23. <td data-col="5"></td>
  24. </tr>
  25. <tr data-row="2">
  26. <td data-col="1"></td>
  27. <td data-col="2"></td>
  28. <td data-col="3"></td>
  29. <td data-col="4"></td>
  30. <td data-col="5"></td>
  31. </tr>
  32. <tr data-row="3">
  33. <td data-col="1"></td>
  34. <td data-col="2"></td>
  35. <td data-col="3"></td>
  36. <td data-col="4"></td>
  37. <td data-col="5"></td>
  38. </tr>
  39. <tr data-row="4">
  40. <td data-col="1"></td>
  41. <td data-col="2"></td>
  42. <td data-col="3"></td>
  43. <td data-col="4"></td>
  44. <td data-col="5"></td>
  45. </tr>
  46. <tr data-row="5">
  47. <td data-col="1"></td>
  48. <td data-col="2"></td>
  49. <td data-col="3"></td>
  50. <td data-col="4"></td>
  51. <td data-col="5"></td>
  52. </tr>
  53. </table>
  54.  
  55. <script>
  56. var table = document.querySelector('table');
  57.  
  58. var paintAdjacentCells = function (row, col) {
  59. var previousRowIndex = row - 1;
  60. var nextRowIndex = row + 1;
  61. var previousColIndex = col - 1;
  62. var nextColIndex = col + 1;
  63.  
  64. var currentCell = table.querySelector(`tr[data-row="${row}"] td[data-col="${col}"]`);
  65. var previousRow = table.querySelector(`tr[data-row="${previousRowIndex}"]`);
  66. var nextRow = table.querySelector(`tr[data-row="${nextRowIndex}"]`);
  67. var previousCell = table.querySelector(`tr[data-row="${row}"] td[data-col="${previousColIndex}"]`);
  68. var nextCell = table.querySelector(`tr[data-row="${row}"] td[data-col="${nextColIndex}"]`);
  69.  
  70. currentCell.classList.toggle('red');
  71.  
  72. if (previousRow) {
  73. previousRow.children[col - 1].classList.toggle('red');
  74. }
  75.  
  76. if (nextRow) {
  77. nextRow.children[col - 1].classList.toggle('red');
  78. }
  79.  
  80. if (previousCell) {
  81. previousCell.classList.toggle('red');
  82. }
  83.  
  84. if (nextCell) {
  85. nextCell.classList.toggle('red');
  86. }
  87. };
  88.  
  89. table.addEventListener('click', function (e) {
  90. if (e.target.nodeName !== 'TD') {
  91. return;
  92. }
  93.  
  94. var row = Number.parseInt(event.target.parentNode.dataset.row);
  95. var col = Number.parseInt(event.target.dataset.col);
  96.  
  97. paintAdjacentCells(row, col);
  98. });
  99. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement