Нужна помощь с простейшим календариком
Всем привет, парни прошу помочь с простейшим календарем на JS. Есть 2 кнопки, "Назад" и "Вперед" и слой с выводом текущей даты в формате "Вторник, 14 февраля 2023 года", всего то и нужно, чтобы при нажатии кнопок в слое менялась дата соответствено Назад - 13, 12, 11 февраля, вперед 15, 16, 17 и т.д. Главное, чтобы перелистывание было бесконечным, то есть можно долистать хоть до 1900-го года, хоть до 2250. Заранее благодарю! З.Ы. Календарей в сети полно, а вот такого не нашел, а самому с датами сложно в JS
|
<body> <button id="back"><</button> <span id="date"></span> <button id="forward">></button> <script> const msinday = 24*60*60*1000; let curday = Date.now(); const sdate = document.getElementById('date') const outdate = (date) => { const opt= { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; const str = new Intl.DateTimeFormat('ru', opt).format(new Date(date)) sdate.textContent = str } document.getElementById('back') .addEventListener('click', ()=> {curday -= msinday; outdate(curday)}); document.getElementById('forward') .addEventListener('click', ()=> {curday += msinday; outdate(curday)}); outdate(curday); </script> </body> |
:write: как вариант ...
<meta charset="utf-8"> <button id="back"><</button> <span id="date"></span> <button id="forward">></button> <script> let curday = new Date(); let date = curday.getDate(); const sdate = document.getElementById('date'); const opt = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; const intl = new Intl.DateTimeFormat('ru', opt); const outdate = (up = 0) => { curday.setDate(date + up); date = curday.getDate(); sdate.textContent = intl.format(curday) } document.getElementById('back') .addEventListener('click', () => outdate(-1)); document.getElementById('forward') .addEventListener('click', () => outdate(+1)); outdate(); </script> |
Парни спасибо огромное! Оба варианта приняты на вооружение)) К сожалению, не могу никому плюсануть, система требует, чтобы плюсики ставились не только voraa и рони
|
Часовой пояс GMT +3, время: 19:25. |