Сброс ползунков после отпускания кнопки мыши

Сам я нуб, пытаюсь с помощью чата гпт сделать одностраничный лендинг. Есть ползунки калькулятора цены, они не держат значения - сбрасываются сразу как отпускаю кнопку мыши. Вроде, весь код, с ними связанный, ниже. Что можно сделать?

<section class="calculator">
  <h2>Калькулятор цены</h2>
  <div class="slider-container">
    <label>Количество часов работы: <span id="hoursValue">1</span></label>
    <input type="range" id="hours" min="1" max="6" value="1" oninput="updateValues()">
  </div>
  <div class="slider-container">
    <label>Пакетная обработка (фото): <span id="batchValue">10</span></label>
    <input type="range" id="batch" min="10" max="100" step="5" value="10" oninput="updateValues()">
  </div>
  <div class="slider-container">
    <label>Журнальная обработка (фото): <span id="magazineValue">1</span></label>
    <input type="range" id="magazine" min="1" max="100" value="1" oninput="updateValues()">
  </div>
  <h3>Итоговая цена: <span id="totalPrice">0</span> ₽</h3>
</section>

function restoreValues() {
  const hours = localStorage.getItem("hours") || 1;
  const batch = localStorage.getItem("batch") || 10;
  const magazine = localStorage.getItem("magazine") || 1;

  document.getElementById("hours").value = hours;
  document.getElementById("batch").value = batch;
  document.getElementById("magazine").value = magazine;

  updateValues(); // Обновляем отображаемые значения
}

function updateValues() {
  const hours = document.getElementById("hours").value;
  const batch = document.getElementById("batch").value;
  const magazine = document.getElementById("magazine").value;

  document.getElementById("hoursValue").innerText = hours;
  document.getElementById("batchValue").innerText = batch;
  document.getElementById("magazineValue").innerText = magazine;

  const totalPrice = hours * 1000 + batch * 200 + magazine * 500;
  document.getElementById("totalPrice").innerText = totalPrice;

  // Сохраняем значения в localStorage
  localStorage.setItem("hours", hours);
  localStorage.setItem("batch", batch);
  localStorage.setItem("magazine", magazine);
}

document.addEventListener("DOMContentLoaded", () => {
  restoreValues(); // Восстанавливаем значения ползунков

Ответы (1 шт):

Автор решения: svm

Вам ChatGPT работу с библиотекой Cocoen неверно организовал.
Он использовал старую версию, где, возможно, были ошибки.

Исправленный мной код: https://jsfiddle.net/2yrc3g1v/1/
Руководствовался документацией cocoen (github)

<!--Удалил-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/cocoen.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/cocoen.min.js"></script>

<!--Добавил-->
<script src="https://unpkg.com/cocoen/dist/cocoen.js"></script>
// Удалил
new Cocoen(document.querySelector('.cocoen'));

// Добавил:
Cocoen.create(document.querySelector('.cocoen'));

Увы, но искусственный интеллект на сегодняшний день нужно проверять во всём.

→ Ссылка