Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Рандомное время появления сообщений (https://javascript.ru/forum/misc/83098-randomnoe-vremya-poyavleniya-soobshhenijj.html)

TheSanches 13.09.2021 12:41

Рандомное время появления сообщений
 
Доброго времени суток, подскажите, как реализовать рандомное время появления сообщений?
На данном этапе сообщения появляются каждые 2с,
setInterval(function() {
    popupMessage();
}, 2000);

а мне нужно каждое появление с разным временем.
Количество срабатываний бесконечно.

function randomInteger(min, max) {
    let rand = min + Math.random() * (max + 1 - min);
    return Math.floor(rand);
}

function popupMessage() {
    const container = document.querySelector('.popup-message'),
        containerText = container.querySelector('.popup-message__text'),
        textArray = [
            'Сообщение 1', 
            'Сообщение 2', 
            'Сообщение 3', 
            'Сообщение 4',
            'Сообщение 5'
        ]; 

    container.classList.add('popup-message_show');

    setTimeout(function() {
        container.classList.remove('popup-message_show');
    }, 1000);
    
    containerText.textContent = textArray[randomInteger(0, textArray.length - 1)];
}

setInterval(function() {
    popupMessage();
}, 2000);

рони 13.09.2021 12:49

Цитата:

Сообщение от TheSanches
каждое появление с разным временем.


setInterval заменить на Рекурсивный setTimeout

Aetae 13.09.2021 12:50

(function randomPopup() {
  const min = 1000; 
  const max = 10000;
  popupMessage();
  setTimeout(randomPopup, Math.floor(Math.random() * (max - min) + min))
}());

TheSanches 13.09.2021 12:51

Спасибо


Часовой пояс GMT +3, время: 14:42.