Помогите разобраться со счетчиком на JavaScript

158
10 октября 2019, 12:00

Есть вот такой скрипт:

<script type="text/javascript">
    var d = [6,5,4,3,2,1,7];
    var today = new Date();
    var end = new Date(today.getFullYear(),today.getMonth(),today.getDate()+ d[today.getDay()], 23, 59, 59);
    var sale = document.getElementsByClassName( 'sale' )[0];
    sale.innerHTML = 'акция до '+ end.toLocaleDateString();
</script>

Задача скрипта подставлять в

<div class="sale"></div>

текст "акция до такой-то даты". В качестве "такой-то даты" принимается ближайшая суббота и при ее достижения счетчик сбрасывается на следующую субботу. Примерно так.

Я в JS абсолютный 0, скрипт взят кусками из интернета и скорее всего он абсолютно корявый. Есть 2 проблемы: 1) текст подставляется только в первый div, хотя по коду страницы их много с классом sale. Прочитал, что getElementsByClassName возвращает массив и его нужно обработать через forEach, но вообще не понял как это сделать. 2) дата выводится в виде "12.02.2019", а нужно в виде "12 февраля". Помогите разобраться :)

Answer 1

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

var d = [6,5,4,3,2,1,7];
var today = new Date();
var end = new Date(today.getFullYear(),today.getMonth(),today.getDate()+ d[today.getDay()], 23, 59, 59);
var auc = document.getElementsByClassName('sale');
for (var i = 0; i < auc.length; i++) {
    auc[i].innerHTML = 'акция до '+ end.toLocaleDateString();
}

Помогите разобраться со вторым пунктом

Answer 2

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

    var d = [6,5,4,3,2,1,7];
    var today = new Date();
    var end = new Date(today.getFullYear(),today.getMonth(),today.getDate()+ d[today.getDay()], 23, 59, 59).toLocaleDateString('ru-RU', {
    day : 'numeric',
    month : 'long',
});
    var auc = document.getElementsByClassName('sale');
    for (var i = 0; i < auc.length; i++) {
        auc[i].innerHTML = 'акция до '+ end;
    }
READ ALSO
Как массово сделать загрузку файлов в базу MySQL?

Как массово сделать загрузку файлов в базу MySQL?

Имеется БД огромного формата, тк

141
PK - быть или не быть? Вот в чем вопрос!

PK - быть или не быть? Вот в чем вопрос!

У меня такой вопрос: обязательно ли нужен Primary Key если он нигде не используется? Например есть таблицы articles(id, name) и tags(id, name), а в таблице article_tags(article_id,...

148
Выпадающее меню, где внутри картинка. На чистом CSS [закрыт]

Выпадающее меню, где внутри картинка. На чистом CSS [закрыт]

Ребят, приветКак сделать выпадающее меню

150
Как написать разные заголовки в одной строке html

Как написать разные заголовки в одной строке html

Мне нужно сделать что-то на подобии этого

158