Происходит неправильное выполнение сохранение в localStorage

Где-то ошибся, помогите исправить! Надпись должна появляться на экране рандомно из заданного массива (*сделано, но не правильно, так как выдает undefined вместо надписи или вообще ничего), она должна хранится в течение заданного времени (*сделано), даже при перегрузке страницы (*сделано), по истечению времени должна вернуться на свою прежнюю надпись "НАЖМИ МЕНЯ" (*сделано)

<!DOCTYPE html>
<html>
<head>
    <script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <meta charset="utf-8">
    <title>На сдачу</title>
</head>
<body>
    <div id = "dv">
        <div id = "qq">
            <p id = "pp">НАЖМИ МЕНЯ</p>
        </div>
        <button id = "but" >Click me!</button>
    </div>
    <div id="text">Нажми на кнопку</div>
    <!-- ---------------------------------------------------------------------------------------------------------------- -->
    <script type="text/javascript">
    var ans 
    function getCookie(name) { // Функция получения куки по имени
        let matches = document.cookie.match(new RegExp(
            "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
        ));
        return matches ? decodeURIComponent(matches[1]) : undefined;
    }

    var checkbutt = document.getElementById('but');
    checkbutt.disabled = true;
    function checkButton() {
        var time = new Date();  // Получаем текущую дату
        var cookie = getCookie('clicked'); //Получаем куки по имени через функцию
        var dif = 0; // Если нет значения в куки, то останется 0
        if (cookie){ //Если куки существую, то
            let cookieTime = new Date(cookie); // Преобразуем значение куки в дату
            let dif1 = time - cookieTime; // Вычитаем текущее время минус время куки, чтобы получить разницу.
            dif = Math.round(dif1/1000); // округляем и делим на 1000(это миллисекунды)
        }
        var z = document.getElementById('text'); // получаем значение куда записывать (для теста
        var duration = 10; // Длительность между нажатиями.Поставил 60 секунд для демонстрации. Заменить 1200, если нужен час.

        if (dif > duration || dif == 0) { // Если длительность больше указанного времени, или равно 0, то выполняем операцию
            checkbutt.disabled = false;
            localStorage.removeItem("text");
            document.getElementById('pp').textContent = "НАЖМИ МЕНЯ";
        } else {
            document.getElementById('pp').textContent = localStorage.getItem("text");
            checkbutt.disabled = true;
            var f = duration - dif; // получаем разницу для вывода сенкуд. Можно будет поменять до минут и так далее, смотря как надо выводить
            z.innerText = "До повторного нажатия кнопки подождите "+f+" секунд"; // Выводим сообщение с таймером секунд.
        }
    }

    setInterval(checkButton, 500);


    but.onclick = function () { // При нажатии кнопки
        var time = new Date();
        document.cookie = "clicked=" + time; // Записываем данные в куки по имени.
        //new code//
        function aa(){
                let popUpWindow = document.querySelector('#pp');
                const showQuote = el => {
                let txt = [
                    'Рандом1',
                    'Рандом2',
                    'Рандом3',
                    'Рандом4',
                    'Рандом5',
                    'Рандом6',
                    'Рандом7',
                    'Рандом8',
                    'Рандом9',
                    'Рандом10',
                    'Рандом11',
                    'Рандом12'
                ];
                el.innerText = ans = txt[Math.floor(Math.random() * txt.length)];
                console.log(ans)
            }
            document.getElementById('pp').style.display = "block"
            let timerID = setTimeout(() => showQuote(popUpWindow), 1);
            }
        document.getElementById('pp').innerHTML = aa()
        //new code//

        if (localStorage.getItem("text")!==null){
            var text = localStorage.getItem("text");
            document.getElementById("pp").textContent=text;
        }

        document.getElementById("pp").textContent = ans;
        localStorage.setItem("text",""+ans+"");
    }
    </script>
    <!-- -------------------------------------------------------------------------------------------------------------------------- -->

</body>
</html>

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