Сделать автоматический скрипт смены месяцев
Всем привет!
Нужно сделать автоматизации, чтобы скидки менялись сами.
например, если сейчас апрель то скидка на май будет 5000 руб, а на июнь 10000 руб.
Или если уже май, то июнь 5000 руб., а на июль 10000 руб. и т. д.
Дали задачи не могу понять, искал везде. Прошу пожалуйста показать как это можно реализовать и по возможности объяснить. Заранее благодарю!
<tr>
<td>
<b>- 5 000 ₽</b><br>На Май 2022
</td>
<td>
<b>- 10 000 ₽</b><br>На Июнь 2022
</td>
</tr>
<tr>
<td colspan="2">
<br><span style="font-size:120%">+ рассрочка (без банков и процентов за 5 минут в офисе)</span>
</td>
</tr>
Ответы (3 шт):
Автор решения: Проста Miha
→ Ссылка
Можете попробовать через массив
const d = new Date();
// Ключ это месяц (0 - Январь, 1 - Февраль ... 11 - Декабрь)
// Значение это цена
const skidki = {
0: '200',
1: '300',
2: '200',
3: '500',
4: '200',
5: '200',
6: '200',
7: '200',
8: '200',
9: '200',
10: '200',
11: '200'
};
let month = d.getMonth();
console.log(skidki[month]);
Автор решения: EzioMercer
→ Ссылка
Можете попробовать так:
const months = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
const currentMonthNumber = new Date().getMonth(); //Можете заменить нужным числом, если не нужен текущий
const monthsNumbers = [
currentMonthNumber,
currentMonthNumber + 1,
currentMonthNumber + 2
].map(x => (x + months.length) % months.length);
const currentMonthSpan = document.querySelector('#currentMonth');
const nextMonthSpan = document.querySelector('#nextMonth');
const nextNextMonthSpan = document.querySelector('#nextNextMonth');
[currentMonthSpan, nextMonthSpan, nextNextMonthSpan].forEach((monthSpan, index) => {
monthSpan.textContent = months[monthsNumbers[index]];
})
<div>
К сожалению в этом меясце (<span id="currentMonth"></span>) нет скидок
</div>
<div>
Но в следующем месяце (<span id="nextMonth"></span>) будет скидка в 5000 рублей
</div>
<div>
А в последущем месяце (<span id="nextNextMonth"></span>) будет безумная скидка в 10000 рублей
</div>
Автор решения: Laukhin Andrey
→ Ссылка
const discounts = [5000, 10000];
const months = [
'январе', 'феврале', 'марте',
'апреле', 'мае', 'июне',
'июле', 'августе', 'сентябре',
'октябре', 'ноябре', 'декабре'
];
const date = new Date();
let month = date.getMonth();
document.body.innerText =
'В ' + months[++month % 12] + ' Вас ждет скидка ' + discounts[0] + ' руб., ' +
'а в ' + months[++month % 12] + ' Вас ждет скидка ' + discounts[1] +
' руб. Но это не точно.';