Cheizer
@Cheizer

Как на JS менять контент каждые 60, 25, 15, 45 минут рандомно?

Друзья, подскажите пожалуйста, как менять контент в блоке каждые 60, 25, 15, 45 минут рандомно? Рандомно сам контент.

Есть заготовка, которая через 5 секунд меняет контент, не рандомно.
<div class="news news1">контент 1</div>
<div class="news news2">контент 2</div>
<div class="news news3">контент 3</div>
<div class="news news4">контент 4</div>
<div class="news news5">контент 5</div>

var newsIndex = 1;
function NewsRotator() {
  $(".news").hide();
  $(".news" + newsIndex).show();
  
  var newsCount = 5;
  newsIndex++;
  if(newsIndex > newsCount) {
    newsIndex = 1;
  }
}

$(document).ready(function() {
  NewsRotator();
  setInterval(NewsRotator, 3000);
});


Поднял живой пример
https://codepen.io/Cheizer/pen/MWgJNpz
  • Вопрос задан
  • 248 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const intervals = [ 1000, 2000, 500, 3000 ];
let interval = -1;

function newsRotator() {
  const $news = $('.news');
  const $hidden = $news.not(':visible');
  const $next = $hidden.eq(Math.random() * $hidden.length | 0);

  $news.hide();
  $next.show();

  interval = (interval + 1) % intervals.length;
  setTimeout(newsRotator, intervals[interval]);
}

newsRotator();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы