Örnek kod

Uygulama kodu

Üç küçük uygulama parçası var: not, mod ve toplam. Oyun sayfasından ayrıdır. Her kodu kopyalayıp test sayfasında aç.

Not

Yazılan metin listeye eklenir ve kutu temizlenir. Boş metin eklenmez. Bu, küçük bir not defteridir.

Test et
<form id="note">
  <input id="text" type="text" placeholder="Qeyd">
  <button type="submit">Əlavə et</button>
</form>
<ul id="list"></ul>
<script>
  const form = document.getElementById("note");
  const text = document.getElementById("text");
  const list = document.getElementById("list");
  form.addEventListener("submit", (event) => {
    event.preventDefault();
    const value = text.value.trim();
    if (!value) return;
    const item = document.createElement("li");
    item.textContent = value;
    list.append(item);
    text.value = "";
  });
</script>

Mod

Bir düğme sayfayı koyu ve açık mod arasında değiştirir. Durum sınıfta durur, ikinci sayfa açılmaz.

Test et
<button type="button" id="mode">Tünd</button>
<p id="label">Rejim: açıq</p>
<script>
  const mode = document.getElementById("mode");
  const label = document.getElementById("label");
  mode.addEventListener("click", () => {
    const dark = document.body.classList.toggle("dark");
    document.body.style.background = dark ? "#0f172a" : "#f8fafc";
    document.body.style.color = dark ? "#e2e8f0" : "#0f172a";
    label.textContent = dark ? "Rejim: tünd" : "Rejim: açıq";
  });
</script>

Toplam

İki kutudaki sayı toplanır. Sayı olmayan yazı sıfır sayılır. Sonuç düğmeden sonra görünür.

Test et
<input id="a" type="number" value="2">
<input id="b" type="number" value="3">
<button type="button" id="add">Cəm</button>
<p id="sum"></p>
<script>
  document.getElementById("add").addEventListener("click", () => {
    const a = Number(document.getElementById("a").value) || 0;
    const b = Number(document.getElementById("b").value) || 0;
    document.getElementById("sum").textContent = String(a + b);
  });
</script>

Büyük uygulama

Gelir ve gider listesidir. Tutar sayı değilse eklenmez. Toplam ayrı yazılır. Sayfa kapanınca liste kalır. Dosyayı .html diye kaydet ve aç.

Test et
<!DOCTYPE html>
<html lang="az">
<head>
  <meta charset="utf-8">
  <title>Kassa</title>
  <style>
    body { margin: 0; font-family: sans-serif; background: #f8fafc; color: #0f172a; }
    main { max-width: 640px; margin: 28px auto; padding: 0 16px; }
    form { display: grid; grid-template-columns: 1fr 120px 140px auto; gap: 8px; }
    input, select { padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; font: inherit; }
    button { border: 0; border-radius: 8px; padding: 10px 12px; background: #0f766e; color: #fff; }
    table { width: 100%; border-collapse: collapse; margin-top: 16px; }
    td { padding: 8px 0; border-bottom: 1px solid #e2e8f0; }
    .out { color: #b91c1c; }
    @media (max-width: 700px) { form { grid-template-columns: 1fr; } }
  </style>
</head>
<body>
<main>
  <h1>Kassa</h1>
  <p>Qalıq: <b id="total">0</b></p>
  <form id="form">
    <input id="title" type="text" maxlength="80" placeholder="Ad" required>
    <input id="amount" type="number" step="0.01" placeholder="Məbləğ" required>
    <select id="kind">
      <option value="in">Gəlir</option>
      <option value="out">Xərc</option>
    </select>
    <button type="submit">Əlavə et</button>
  </form>
  <table>
    <tbody id="rows"></tbody>
  </table>
</main>
<script>
  const KEY = "nibras-cash";
  const form = document.getElementById("form");
  const rows = document.getElementById("rows");
  const total = document.getElementById("total");

  function load() {
    try {
      const saved = JSON.parse(localStorage.getItem(KEY) || "[]");
      return Array.isArray(saved) ? saved : [];
    } catch {
      return [];
    }
  }

  let items = load().filter((item) => item && typeof item.title === "string" && typeof item.amount === "number");

  function money(value) {
    return value.toFixed(2);
  }

  function balance() {
    return items.reduce((sum, item) => sum + (item.kind === "out" ? -item.amount : item.amount), 0);
  }

  function draw() {
    rows.innerHTML = "";
    items.forEach((item, index) => {
      const row = document.createElement("tr");
      const name = document.createElement("td");
      name.textContent = item.title;
      const amount = document.createElement("td");
      amount.textContent = (item.kind === "out" ? "-" : "+") + money(item.amount);
      amount.className = item.kind === "out" ? "out" : "";
      const remove = document.createElement("td");
      const button = document.createElement("button");
      button.type = "button";
      button.textContent = "Sil";
      button.addEventListener("click", () => {
        items.splice(index, 1);
        localStorage.setItem(KEY, JSON.stringify(items));
        draw();
      });
      remove.append(button);
      row.append(name, amount, remove);
      rows.append(row);
    });
    total.textContent = money(balance());
  }

  form.addEventListener("submit", (event) => {
    event.preventDefault();
    const title = document.getElementById("title").value.trim();
    const amount = Number(document.getElementById("amount").value);
    const kind = document.getElementById("kind").value;
    if (!title || !Number.isFinite(amount) || amount <= 0) return;
    items.push({ title, amount, kind });
    localStorage.setItem(KEY, JSON.stringify(items));
    form.reset();
    draw();
  });

  draw();
</script>
</body>
</html>

Ayrıntılı bilgi

Bu sayfa nibrascode.com sitesinin "Uygulama kodu" bölümüdür ve oyun sayfasından ayrı olan üç küçük uygulama parçasını sunar. Burada not, mod ve toplam adı verilen işlevsel kısımlar yer alır. Her bir öğenin kendine özgü mantığı vardır ve kullanıcılara belirli küçük görevleri çözme imkanı tanır.

İnsanlar web sayfalarına bağımsız işlevsellik eklemek istediklerinde bu tür örneklere ihtiyaç duyarlar. Temel kavram, HTML, CSS ve JavaScript aracılığıyla sayfa içinde dinamik öğeler oluşturmaktan ibarettir. Kodları kopyalayıp test sayfasında açarak bunların çalışma mekanizmasını doğrudan görmek ve öğrenmek mümkündür.

Nasıl kullanılır

  1. Sayfada sunulan üç küçük uygulama parçasından birini seçin.
  2. Kod bloğunun üzerindeki ilgili düğmeye tıklayarak kodu kopyalayın.
  3. Kodu kendi test sayfanıza yerleştirin ve çalıştırın.
  4. Sonucu kontrol ederek uygulamanın nasıl çalıştığını gözlemleyin.

Nerede işe yarar

Sık sorulan sorular

Uygulama kodu bölümünde kaç parça vardır?

Bu bölümde üç küçük uygulama parçası bulunur: not, mod ve toplam. Her birinin kendi HTML ve JavaScript yapısı vardır.

Kodlar nasıl test edilebilir?

Her kodu kopyalayıp test sayfasında açmak gerekir. Ardından ilgili öğenin işlevselliğini doğrudan deneyebilirsiniz.

Toplam kısmında sayı olmayan yazı nasıl kabul edilir?

Toplam hesaplanırken alandaki sayı olmayan yazı otomatik olarak sıfır sayılır ve hesabı etkilemez.