Цитата:
Требуется ведь, что бы ВСЕ пользователи в какой то день видели одну и ту же определенную картинку. Если каждый пользователь в этот день будет независимо от других считать рандом, то картинки у всех будут разные. Значит либо строго определенная цикличность, скрипт у каждого пользователя должен вычислять один и тот же номер картинки для данного дня. Либо это должен делать сервер - вычислять номер, для каждого дня разный но одинаковый для всех пользователей. |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
<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, время: 20:58. |