Я пытаюсь реализовать небольшой скрипт, чтобы отображать сообщения в виде массива, так как каждый день недели - это еще один массив. Я начал, но застрял. Код
let daySun = ['msg1','msg2','msg3','msg4'];
let dayMon = ['msg1','msg2','msg3','msg4'];
let dayTue = ['msg1','msg2','msg3','msg4'];
let dayWed = ['msg1','msg2','msg3','msg4'];
let dayThu = ['msg1','msg2','msg3','msg4'];
let dayFri = ['msg1','msg2','msg3','msg4'];
let daySat = ['msg1','msg2','msg3','msg4'];
let dayWeek = new Date().getDay();
//How to get
setInterval(function(){
// 1. to compare name of the day with above arrays
// 2. if today is Sun, then messages from daySun array to be displayed in order
// 3. and so on for every day of the week
// 4. I want to add fadeIn or fadeOut, or a animate class from animate.min.css
},1000);
//html for messages is <p id = "day-msg"></p>
что вы хотите отображать все дни? только если день будет fadeIn fadeOut?
почему вы используете setInterval?
@ mrs68tm Я думаю, вам следует принять ответ, который помог вам также в оригинальном ответе, а не в копировании одного из другого. Это сделает сообщество сильнее.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Создать объект сообщений на сутки как:
let messages = {
sun: ['msg1','msg2','msg3','msg4'],
mon: ['msg1','msg2','msg3','msg4'],
tue: ['msg1','msg2','msg3','msg4'],
wed: ['msg1','msg2','msg3','msg4'],
thu: ['msg1','msg2','msg3','msg4'],
fri: ['msg1','msg2','msg3','msg4'],
sat: ['msg1','msg2','msg3','msg4']
}
получить название текущего дня как:
let dayName = new Date().toString().split(' ')[0].toLowerCase();
найти сообщения за день:
let currentMessages = messages[dayName];
сохранять индекс сообщения в массиве при отображении сообщений, изначально 0
let currentIndex = 0;
setInterval(function(){
console.info(currentMessages[currentIndex]);
currentIndex++;
// below code to loop your messages, if you want to close messages clear interval.
if (currentIndex >= currentMessages.length) {
currentIndex = 0;
}
},1000);
Готово см. js файл
html
<head>
<link rel = "stylesheet"
href = "https://cdn.jsdelivr.net/npm/[email protected]/animate.min.css">
<!-- or -->
</head>
<h1 class = "animated infinite fadeOut" id = "day-msg"></h1>
java скрипт
let day = {"sun":['msg1','msg2','msg3','msg4'],"mon":['msg1','msg2','msg3','msg4'],"Tue":['msg1','msg2','msg3','msg4'],"wed":['msg1','msg2','msg3','msg4'],"thu":['msg1','msg2','msg3','msg4'],"fri":['msg1','msg2','msg3','msg4'],"sat":['msg1','msg2','msg3','msg4']};
let dayName = new Date().toString().split(' ')[0].toLowerCase()
currentIndex = 0;
setInterval(function(){
document.getElementById("day-msg").innerHTML = day[dayName][currentIndex++];
if (currentIndex >= day[dayName].length){
currentIndex= 0;
}
},1000);
но почему ты не принял мой ответ как правильный? что-то пошло не так?
что ты так устал?