coding_giants

cg-09-task-list

Feb 15th, 2024
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1" />
  6.  
  7. <title>Hello World!</title>
  8. <link rel="stylesheet" href="/style.css" />
  9. <script src="/script.js" defer></script>
  10. </head>
  11.  
  12. <body>
  13. <div id="addElement">
  14. <h1>Shopping List</h1>
  15.  
  16. <input id="element" type="text" maxlength="25" />
  17. <button id="addButton">Add Product</button>
  18. <button id="printButton">Print</button>
  19.  
  20. <p id="message"></p>
  21. </div>
  22. <div id="forPrinting">
  23. <div id="listContainer">
  24. <ol id="taskList"></ol>
  25. </div>
  26. </div>
  27. </body>
  28. </html>
  29.  
  30.  
  31. ============================= JavaScript ==================================
  32.  
  33. // event when the user clicks on the add button
  34. document.getElementById("addButton").addEventListener("click", function () {
  35. // to the variable we assign the text that the user typed in the input field
  36. const newElement = document.getElementById("element").value.trim();
  37. // if the text is different from empty i.e. the user has typed a string of characters
  38. if (newElement != "") {
  39. // we clear the possible message
  40. document.getElementById("message").textContent = "";
  41. // we add a new item to our numbered list
  42. document.getElementById("taskList").innerHTML +=
  43. "<li>" + newElement + "</li>";
  44. // clear the input field
  45. document.getElementById("element").value = "";
  46. } else {
  47. // we display a message because the user has not entered anything
  48. document.getElementById("message").textContent = "Fill the field";
  49. }
  50. });
  51.  
  52. // event after clicking on the task list
  53. document.getElementById("taskList").addEventListener("click", function (e) {
  54. //write the reference to the list element that was clicked to a variable
  55. const elementList = e.target;
  56. //remove the clicked list element
  57. this.removeChild(elementList);
  58. });
  59.  
  60. document.getElementById("printButton").addEventListener("click", function () {
  61. const printArea = document.getElementById("forPrinting").innerHTML;
  62. //we set the print area only for the elements of our task list
  63. document.body.innerHTML = printArea;
  64. //print window
  65. window.print();
  66. //refresh the entire page
  67. window.location.reload();
  68. });
  69.  
  70. ================================== CSS ==================================
  71.  
  72. @import url("https://fonts.googleapis.com/css?family=Caveat+Brush&display=swap");
  73. body {
  74. background-image: url("https://cdn.glitch.com/cd3369a7-e614-49a9-93c1-8871829b4d63%2Fandrew-neel-cckf4TsHAuw-unsplash.jpg?v=1584885423509");
  75. background-repeat: no-repeat;
  76. background-size: cover;
  77. background-attachment: fixed;
  78. font-family: "Caveat Brush", cursive;
  79. }
  80. #addElement {
  81. margin: 0px auto 0px auto;
  82. width: 1000px;
  83. text-align: center;
  84. padding: 10px;
  85. }
  86.  
  87. li {
  88. margin-left: auto;
  89. margin-right: auto;
  90. width: 200px;
  91. height: 30px;
  92. border-radius: 10px;
  93. padding: 10px;
  94. }
  95.  
  96. li:hover {
  97. color: red;
  98. cursor: pointer;
  99. text-decoration: line-through;
  100. }
  101.  
  102. h1 {
  103. font-size: 5em;
  104. color: white;
  105. }
  106.  
  107. #taskList {
  108. font-family: "Caveat Brush", cursive;
  109. font-size: 32px;
  110. width: 500px;
  111. background-color: #ffd35c;
  112. margin-left: auto;
  113. margin-right: auto;
  114. border-radius: 10px;
  115. color: #003a91;
  116. }
  117. #addButton,
  118. #printButton {
  119. width: 200px;
  120. height: 50px;
  121. background-color: #fa4a0a;
  122. color: white;
  123. padding: 15px 32px;
  124. font-size: 16px;
  125. border-radius: 4px;
  126. transition-duration: 0.4s;
  127. border: 2px solid #fa4a0a;
  128. text-transform: uppercase;
  129. }
  130.  
  131. #printButton:hover,
  132. #addButton:hover {
  133. cursor: pointer;
  134. opacity: 0.8;
  135. }
  136.  
  137. input {
  138. width: 330px;
  139. height: 30px;
  140. font-family: "Caveat Brush", cursive;
  141. font-size: 20px;
  142. }
  143.  
  144. p {
  145. color: white;
  146. font-size: 180%;
  147. }
  148.  
Add Comment
Please, Sign In to add comment