Цитата:
Требуется ведь, что бы ВСЕ пользователи в какой то день видели одну и ту же определенную картинку. Если каждый пользователь в этот день будет независимо от других считать рандом, то картинки у всех будут разные. Значит либо строго определенная цикличность, скрипт у каждого пользователя должен вычислять один и тот же номер картинки для данного дня. Либо это должен делать сервер - вычислять номер, для каждого дня разный но одинаковый для всех пользователей. |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
<a href=index.htm><img scr="img.jpg"></a> Примерно так Цитата:
А скрипт (у меня) не работает, просто пустая страница. Если что - вот код:
<html>
<head>
<title>Страница</title>
</head>
<body>
<script>
const picurls = [
'/images/1.jpg',
'/images/2.jpg',
'/images/3.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];
</script>
</body>
</html>
|
Так я написал только как урл получать.
Откуда же я знаю куда вам надо его запихивать? Где тот img, куда его надо запихнуть? Или я всю страницу формироввать должен? |
<html>
<head>
<title>Страница</title>
</head>
<body>
<a href=index.htm><img id='pd'></a>
<script>
const picurls = [
'/images/1.jpg',
'/images/2.jpg',
'/images/3.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];
document.getElementById('pd').src = url
</script>
</body>
</html>
|
Цитата:
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 nDay = Math.trunc(now/msinday); // дней с 01.01.1970
const nWeek = Math.trunc((nDay - 4)/7); // недель с 01.01.1970 (переключается в понедельник)
const year = new Date (now).getFullYear()
const month = new Date (now).getMonth()
const nMonth = (year - 1970)*12 + month // мeсяцев с 01.01.1970
const indDay = nDay % picurls.length;
const indWeek = nWeek % picurls.length;
const indMonth = nMonth % picurls.length;
|
новая картинка каждый день
Тапочек,
<!DOCTYPE html>
<html>
<head>
<title>Страница</title>
</head>
<body>
<img src="" class="pic">
<script>
const picurls = [ //порядок картинок зависит только от вас, тасуйте как хотите
'https://picsum.photos/300/100?1',
'https://picsum.photos/300/100?2',
'https://picsum.photos/300/100?3',
'https://picsum.photos/300/100?4',
'https://picsum.photos/300/100?5',
'https://picsum.photos/300/100?6',
'https://picsum.photos/300/100?7'
];
const now = Date.now() -(new Date().getTimezoneOffset()) * 60000;
// мс с 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];
document.querySelector(".pic").src = url;
</script>
</body>
</html>
|
Цитата:
const now = Date.now() -(new Date().getTimezoneOffset()) * 60000; Что бы день менялся в 00:00:00 по местному времени. |
Voraa, да, коряво объяснил. Мне нужно, чтобы по клику на картинку открывалась ссылка (на каждую картинку своя ссылка). В вашем скрипте только ссылка на картинку ('http://serv/pic1.jpg'), она не кликабельна, то есть, она не ссылка, а просто картинка
рони, если менять часы системные часы, то вроде ничего не меняется. Хотя наступил новый день и картинка сменилась... Не понимаю, как это происходит 0_0 |
| Часовой пояс GMT +3, время: 12:29. |