Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.01.2019, 06:47
Новичок на форуме
Отправить личное сообщение для jenya2802 Посмотреть профиль Найти все сообщения от jenya2802
 
Регистрация: 18.01.2019
Сообщений: 2

Данные не сохраняются после перезагрузки
В чем может быть ошибка? И надо ли создавать отдельный файл JSON?

var arr = JSON.parse(localStorage.getItem('avg')) || [];
document.getElementById("btn").addEventListener("click", function() {
  var num = parseInt(document.getElementById("num").value)
  if(!num) return; // ?
  arr.push(num);
  var avg = arr.reduce(function(a, b) { return a + b; }) / arr.length;
  document.getElementById("res").innerText = avg;
  localStorage.setItem('avg', JSON.stringify(arr));

})
Ответить с цитированием
  #2 (permalink)  
Старый 19.01.2019, 10:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,074

Сообщение от jenya2802
В чем может быть ошибка?
DOMContentLoaded?
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2019, 10:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,074

localStorage среднее арифметическое
jenya2802,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
document.addEventListener("DOMContentLoaded", function() {
    var arr = JSON.parse(localStorage.getItem("avg")) || [];

    function average(arr) {
        return arr.length ? arr.reduce(function(a, b) {
            return a + b
        }) / arr.length : 0
    }

    function show() {
        var avg = average(arr);
        document.getElementById("res").textContent = avg.toFixed(2)
    }

    function addSaveNum() {
        var num = parseInt(document.getElementById("num").value);
        if (!num) return;
        arr.push(num);
        localStorage.setItem("avg", JSON.stringify(arr));
        show()
    }
    document.getElementById("btn").addEventListener("click", addSaveNum);
    show()
});
  </script>
</head>

<body>
<div id="res"></div>
<input type="text" id="num">
<button id="btn">go</button>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход на страницу после перезагрузки фрейма grertgf Общие вопросы Javascript 2 21.03.2018 15:14
Оставлять чат после перезагрузки страницы Ваяс AJAX и COMET 2 04.03.2015 13:28
Сохранение данных после закрытия страницы HekracoB AJAX и COMET 12 02.01.2015 12:41
Как сделать так что бы после перезагрузки не менялся выбраный таб? kursof Элементы интерфейса 5 29.12.2014 00:12
Не сохраняется localStorage после перезагрузки браузера Бобр Firefox/Mozilla 1 20.10.2011 20:31