index.html 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <style>
  11. .cell {
  12. width: 40px;
  13. height: 40px;
  14. border: 1px solid black;
  15. text-align: center;
  16. cursor: pointer;
  17. }
  18. .row:nth-child(even) {
  19. background: #eeeeee;
  20. }
  21. </style>
  22. <table id="table1"></table>
  23. <br /><br /><br />
  24. <input type="number" name="" id="inp1" placeholder="Number 1" />
  25. <input type="number" name="" id="inp2" placeholder="Number 2" />
  26. <input type="text" id="result" placeholder="Sum" readonly />
  27. <button id="calcBtn">Calc</button>
  28. <script>
  29. //ES6
  30. // //ПОДСВЕТИТЬ СТРОКУ И СТОЛБЕЦ
  31. // function lightUp({ event } = {}) {
  32. // const cellIdx = this.cellIndex;
  33. // const rows = this.parentElement.parentElement.children;
  34. // this.parentElement.style.backgroundColor = "#CECECE";
  35. // for (let row of rows) {
  36. // row.children[cellIdx].style.backgroundColor = "#CECECE";
  37. // }
  38. // }
  39. // function lightDown({ event } = {}) {
  40. // const cellIdx = this.cellIndex;
  41. // const rows = this.parentElement.parentElement.children;
  42. // this.parentElement.style.backgroundColor = "";
  43. // for (let row of rows) {
  44. // row.children[cellIdx].style.backgroundColor = "";
  45. // }
  46. // }
  47. // let table = document.querySelector("#table1");
  48. // for (let i = 1; i < 10; i++) {
  49. // const tr = document.createElement("tr");
  50. // tr.classList.add("row");
  51. // table.append(tr);
  52. // for (let j = 1; j < 10; j++) {
  53. // const td = document.createElement("td");
  54. // td.innerText = i * j;
  55. // tr.append(td);
  56. // td.classList.add("cell");
  57. // td.addEventListener("mouseover", lightUp);
  58. // td.addEventListener("mouseleave", lightDown);
  59. // }
  60. // }
  61. // //CALC
  62. // let inp1 = document.querySelector("#inp1");
  63. // let inp2 = document.querySelector("#inp2");
  64. // calcBtn.onclick = () => alert(+inp1.value + +inp2.value);
  65. // //CALC LIVE
  66. // let calc = () => (result.value = +inp1.value + +inp2.value);
  67. // inp1.oninput = calc;
  68. // inp2.oninput = calc;
  69. //SORT
  70. // function sort(arrayToSort, key, reverse = true) {
  71. // let resultArray = [...arrayToSort];
  72. // if (!reverse) {
  73. // for (let j = 0; j < resultArray.length; j++)
  74. // for (let i = 0; i < resultArray.length - 1; i++) {
  75. // if (resultArray[i][key] < resultArray[i + 1][key]) {
  76. // [resultArray[i], resultArray[i + 1]] = [resultArray[i + 1], resultArray[i]];
  77. // }
  78. // }
  79. // } else {
  80. // for (let j = 0; j < resultArray.length; j++)
  81. // for (let i = 0; i < resultArray.length - 1; i++) {
  82. // if (resultArray[i][key] > resultArray[i + 1][key]) {
  83. // [resultArray[i], resultArray[i + 1]] = [resultArray[i + 1], resultArray[i]];
  84. // }
  85. // }
  86. // }
  87. // return resultArray;
  88. // }
  89. // sort(persons, "age"); //сортирует по возрасту по возрастанию
  90. // sort(persons, "name", false); //сортирует по имени по убыванию
  91. //ARRAY MAP
  92. // let arr = ["1", {}, null, undefined, "500", 700];
  93. // console.log(arr.map((item) => (typeof item === "string" ? (item = +item) : item)));
  94. //ARRAY REDUCE
  95. // let arr = ["0", 5, 3, "string", null];
  96. // console.log(
  97. // arr.reduce((sum, item, index) => {
  98. // if (typeof item !== "number") {
  99. // return sum;
  100. // }
  101. // return sum === null ? (sum = item) : (sum *= item);
  102. // }, null)
  103. // );
  104. //OBJECT FILTER
  105. // var phone = {
  106. // brand: "meizu",
  107. // model: "m2",
  108. // ram: 2,
  109. // color: "black",
  110. // };
  111. // function filter(objToFilter, cb) {
  112. // let obj = { ...objToFilter };
  113. // for (let [key, value] of Object.entries(obj)) {
  114. // !cb(key, value) && delete obj[key];
  115. // }
  116. // return obj;
  117. // }
  118. // console.log(filter(phone, (key, value) => key == "color" || value == 2));
  119. //OBJECT MAP
  120. // function map(objToMap, cb) {
  121. // let obj = { ...objToMap };
  122. // for ([key, value] of Object.entries(obj)) {
  123. // let [[newKey, newValue]] = Object.entries(cb(key, value));
  124. // delete obj[key];
  125. // obj[newKey] = newValue;
  126. // }
  127. // return obj;
  128. // }
  129. // console.log(
  130. // map({ name: "Иван", age: 17 }, function (key, value) {
  131. // var result = {};
  132. // result[key + "_"] = value + "$";
  133. // return result;
  134. // })
  135. // ); //должен вернуть {name_: "Иван$", age_: "17$"}
  136. //SUM
  137. // function sum(start, end, step = 1) {
  138. // let rez = start;
  139. // if (rez < end) {
  140. // rez += +sum(rez + step, end, step);
  141. // }
  142. // return rez;
  143. // }
  144. // console.log(sum(1, 15));
  145. //HTML TREE
  146. // let dictHTML = {
  147. // tagName: "body",
  148. // attrs: {},
  149. // subTags: [
  150. // {
  151. // tagName: "div",
  152. // attrs: {},
  153. // subTags: [
  154. // {
  155. // tagName: "span",
  156. // text: "Enter a data please:",
  157. // attrs: {},
  158. // subTags: [],
  159. // },
  160. // {
  161. // tagName: "br",
  162. // attrs: {},
  163. // subTags: [],
  164. // },
  165. // {
  166. // tagName: "input",
  167. // attrs: {
  168. // type: "text",
  169. // id: "name",
  170. // },
  171. // subTags: [],
  172. // },
  173. // {
  174. // tagName: "input",
  175. // attrs: {
  176. // type: "text",
  177. // id: "surname",
  178. // },
  179. // subTags: [],
  180. // },
  181. // ],
  182. // },
  183. // {
  184. // tagName: "div",
  185. // attrs: {},
  186. // subTags: [
  187. // {
  188. // tagName: "button",
  189. // attrs: {
  190. // id: "ok",
  191. // },
  192. // text: "OK",
  193. // subTags: [],
  194. // },
  195. // {
  196. // tagName: "button",
  197. // attrs: {
  198. // id: "cancel",
  199. // },
  200. // text: "Cancel",
  201. // subTags: [],
  202. // },
  203. // ],
  204. // },
  205. // ],
  206. // };
  207. // function contsractHTML(htmlTree) {
  208. // let str = `<${htmlTree["tagName"]}`;
  209. // for (attrName in htmlTree["attrs"]) {
  210. // str += ` ${attrName}="${htmlTree["attrs"][attrName]}" `;
  211. // }
  212. // str += ">";
  213. // str += htmlTree["text"] ?? "";
  214. // if (htmlTree.subTags) {
  215. // for (tag of htmlTree.subTags) str += contsractHTML(tag);
  216. // }
  217. // str += `</${htmlTree["tagName"]}>`;
  218. // return str;
  219. // }
  220. // let html = contsractHTML(dictHTML);
  221. // document.write(html);
  222. </script>
  223. </body>
  224. </html>