Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2022, 11:10
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Скрипт "картинка-ссылка" на каждый день недели
Всем привет и здрасьте!

Очень нужен скрипт, который будет отображать рандомную картинку-ссылку (например, из 50 штук) каждый день. То есть, новый день - новая картинка. Я перелопатил кучу сайтов, но ничего подходящего не нашёл...

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

Если показывать рандомно, то есть вероятность, что два (а то и три) дня подряд будет показываться одна и та же картинка.
Проще иметь массив url картинок и каждый день циклически показывать следующую.
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2022, 11:31
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Сообщение от voraa Посмотреть сообщение
Проще иметь массив url картинок и каждый день циклически показывать следующую.
Тоже верно. Как это сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2022, 11:41
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Сообщение от voraa Посмотреть сообщение
Если показывать рандомно, то есть вероятность, что два (а то и три) дня подряд будет показываться одна и та же картинка.
Хотя и это меня не смущает. Массив из 56 картинок. Даже если что-то будет подряд показываться - да пусть, не принципиально. Важен именно ежедневный рандом (пусть и с повторами)
Ответить с цитированием
  #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). и уже по хешу (беря младшую часть, вычисляя остаток) вычислять номер картинки, которую надо показать. Но нет гарантии, что это будет действительно равномерно распределенное случайное число.
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2022, 14:41
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Я вижу это примерно так (если не прав - пните): например, есть скрипт, который показывает рандомную картинку при обновлении страницы (но это не подходит). А если сделать так, что в, например, час ночи (по дате пользователя) скрипт рандомно выбирает картинку из массива и показывает её пользователю (всем пользователям). Это нечто вроде "фото дня". Пусть будут повторы - не принципиально

Можно сделать и цикличность (тоже выход, но не совсем), но хотелось бы всё же рандом

Вот как-то так

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

Тогда это должен сервер делать - выбирать, какую картинку показывать пользователям.
Ответить с цитированием
  #8 (permalink)  
Старый 04.11.2022, 19:53
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Сообщение от voraa Посмотреть сообщение
Тогда это должен сервер делать - выбирать, какую картинку показывать пользователям.
Окай, можно решить вопрос и с цикличностью (сделать псевдорандом - картинки показываются не 1,2,3,4,5... а 3,1,5,4,2 - это не проблема), но я упорно не понимаю, как настроить скрипт на смену картинки каждые 24 часа. Я в JS не силён от слова совсем. Мне бы готовый скрипт...
Ответить с цитированием
  #9 (permalink)  
Старый 04.11.2022, 21:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Тапочек
Мне бы готовый скрипт...
чем не устраивает код в #3?
Ответить с цитированием
  #10 (permalink)  
Старый 04.11.2022, 21:58
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Сообщение от рони Посмотреть сообщение
чем не устраивает код в #3?
Если это уже готовый скрипт, который меняет картинку каждые 24 часа - меня полностью устраивает (отредактировать я понимаю как). Только вот вместо картинки нужна картинка-ссылка. Как это сделать?

А как сделать, чтобы картинка менялась раз неделю, раз в месяц и раз в год? По аналогии с "фото недели" и "фото месяца"
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить код в скрипт? Блондинка Общие вопросы Javascript 1 05.11.2021 16:10
Не получается доработать скрипт калькулятора последнего дня отпуска insider999 Общие вопросы Javascript 15 22.07.2016 15:35
PHP/AJAX скрипт "Нaселение мoегo гoрoдa oнлaйн" rustik-yes Работа 2 01.12.2014 22:53
настроить скрипт. дни недели cyklop77 Общие вопросы Javascript 4 18.07.2012 14:33
Скрипт смены картинок на каждый день года Артемий Б Работа 17 02.12.2010 22:49