Izpēte - Paskaidro kodu

Atjaunots: 2022-11-07

Lai izprastu HTML un JS savstarpējo mijiedarbību, paskaidro kodu rindiņu pa rindiņai.

Saturs

Uzdevuma apraksts

Izmantojot ChatGPT, paskaidro rindiņu pa rindiņai JavaScript kodu.

Piemēram:

var enterButton = document.getElementById("enter");

Var skaidrot kā

ExplainDev skaidrojums

tāpēc paskaidrojumā varētu rakstīt

//definējam mainīgo enterButton, kuram piešķiram vertību HTML elementu ar id 'enter'
var enterButton = document.getElementById("enter");

JS kods

var enterButton = document.getElementById("enter");
enterButton.addEventListener("click", createListElement);
var input = document.getElementById("userInput");
var ul = document.querySelector("ul");
var editItemId = null;

function createListElement() {
  var li;
  const liId = `li-${Date.now()}`;

  if (editItemId === null) {
    li = document.createElement("li");

    li.appendChild(document.createTextNode(input.value));
    li.classList.add(
      "list-group-item",
      "d-flex",
      "justify-content-between",
      "align-items-start"
    );

    ul.appendChild(li);
  } else {
    li = document.getElementById(editItemId);
    li.innerText = input.value;
  }

  li.setAttribute("id", liId);

  let btnSpan = document.createElement("span");
  let editBtn = document.createElement("button");
  let editIcon = document.createElement("i");
  editIcon.classList.add("bi", "bi-pen");
  editBtn.appendChild(editIcon);
  editBtn.classList.add("btn", "btn-secondary", "btn-sm");
  btnSpan.appendChild(editBtn);
  editBtn.addEventListener("click", function () {
    editListItem(liId);
  });

  let dBtn = document.createElement("button");
  let delIcon = document.createElement("i");
  delIcon.classList.add("bi", "bi-trash");
  dBtn.appendChild(delIcon);
  dBtn.classList.add("btn", "btn-secondary", "btn-sm", "ms-2");
  btnSpan.appendChild(dBtn);
  dBtn.addEventListener("click", function () {
    deleteListItem(liId);
  });
  li.appendChild(btnSpan);

  li.addEventListener("click", function () {
    crossOut(liId);
  });

  input.value = "";
  editItemId = null;
}

function deleteListItem(liId) {
  let deleteLi = document.getElementById(liId);
  deleteLi.classList.add("delete");
}

function editListItem(liId) {
  let editLi = document.getElementById(liId);
  input.value = editLi.textContent;
  editItemId = liId;
}

function crossOut(liId) {
  if (editItemId === null) {
    let doneLi = document.getElementById(liId);
    if (doneLi) {
      doneLi.classList.toggle("done");
    }
  }
}

input.addEventListener("keypress", addListAfterKeypress);
function addListAfterKeypress(event) {
  if (inputLength() > 0 && event.key === "Enter") {
    createListElement();
  }
}
Autors
Mārtiņš Bērziņš avatar
Mārtiņš Bērziņš

Uzraksti atsauksmi uz [email protected] [email protected]

Smiltenes vidusskolas logo