Показать сообщение отдельно
  #5 (permalink)  
Старый 04.11.2022, 11:52
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Показывать циклически можно так.
const picurls = [
	'http://serv/pic1.jpg',
	'http://serv/pic2.jpg',
...
	'http://serv/picN.jpg',
];

const now = Date.now();  // мс с 01.01.1970
const msinday = 1000*60*60*24; // мс в сутках
const nowDay = Math.trunc(now/msinday); // дней с 01.01.1970

const ind = nowDay % picurls.length;

const url = picurls[ind];


Именно рандом на каждый день сделать труднее. Если это рандом для каждого пользователя (разные пользователи в один и тот же день будут видеть разные картинки), то каждый раз надо проверять заходил ли это т пользователь в этот день. Если нет, то вычислять рандомно индекс картинки и запоминать его, например в localStorage. Если уже заходил в этот день, то брать запомненный индекс.
Если все пользователи в этот день должны видеть одну и туже рандомную картинку, то это либо проблема сервера, либо придумывать какой то хеш по дате (например md5). и уже по хешу (беря младшую часть, вычисляя остаток) вычислять номер картинки, которую надо показать. Но нет гарантии, что это будет действительно равномерно распределенное случайное число.
Ответить с цитированием