Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2021, 12:41
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

Рандомное время появления сообщений
Доброго времени суток, подскажите, как реализовать рандомное время появления сообщений?
На данном этапе сообщения появляются каждые 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);
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2021, 12:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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

setInterval заменить на Рекурсивный setTimeout
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2021, 12:50
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

(function randomPopup() {
  const min = 1000; 
  const max = 10000;
  popupMessage();
  setTimeout(randomPopup, Math.floor(Math.random() * (max - min) + min))
}());
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 13.09.2021, 12:51
Аспирант
Отправить личное сообщение для TheSanches Посмотреть профиль Найти все сообщения от TheSanches
 
Регистрация: 21.01.2018
Сообщений: 78

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Время появления div Drakon5505 Общие вопросы Javascript 5 25.05.2020 10:38
Как сделать рандомное время от 2 до 8 секунд у скрипта? snovapavel jQuery 11 03.10.2016 13:04
Position fixed, но динамический по оси ОХ tvixa Элементы интерфейса 4 09.09.2013 15:39
Рандомное время в setInterval Vampir3 Общие вопросы Javascript 37 28.12.2011 23:58
Логика звукового уведомления о поступлении новых сообщений Триви AJAX и COMET 1 11.08.2011 02:13