Javascript.RU

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

Сообщение от Тапочек
(сделать псевдорандом - картинки показываются не 1,2,3,4,5... а 3,1,5,4,2 - это не проблема)
Какая разница? Разместите урл картинок в другом порядке.
Требуется ведь, что бы ВСЕ пользователи в какой то день видели одну и ту же определенную картинку. Если каждый пользователь в этот день будет независимо от других считать рандом, то картинки у всех будут разные.
Значит либо строго определенная цикличность, скрипт у каждого пользователя должен вычислять один и тот же номер картинки для данного дня. Либо это должен делать сервер - вычислять номер, для каждого дня разный но одинаковый для всех пользователей.
Ответить с цитированием
  #12 (permalink)  
Старый 04.11.2022, 21:59
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,703

Сообщение от Тапочек
Только вот вместо картинки нужна картинка-ссылка. Как это сделать?
Что такое картинка ссылка?
Ответить с цитированием
  #13 (permalink)  
Старый 04.11.2022, 22:01
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,703

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

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

Сообщение от voraa Посмотреть сообщение
Какая разница? Разместите урл картинок в другом порядке.
Да, так и сделаю, в принципе - выход. Я в этой теме не сильно подкован, сами понимаете

Сообщение от voraa Посмотреть сообщение
Что такое картинка ссылка?
<a href=index.htm><img scr="img.jpg"></a>

Примерно так

Сообщение от voraa Посмотреть сообщение
Аналогично. Получать номер недели или номер месяца от начала года.
Я всё равно не понимаю, извините

А скрипт (у меня) не работает, просто пустая страница. Если что - вот код:

<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>
Ответить с цитированием
  #15 (permalink)  
Старый 04.11.2022, 22:50
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,703

Так я написал только как урл получать.
Откуда же я знаю куда вам надо его запихивать?
Где тот img, куда его надо запихнуть?
Или я всю страницу формироввать должен?
Ответить с цитированием
  #16 (permalink)  
Старый 04.11.2022, 22:54
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,703

<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>
Ответить с цитированием
  #17 (permalink)  
Старый 04.11.2022, 22:57
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,703

Сообщение от voraa
Аналогично. Получать номер недели или номер месяца от начала года.
Получение номера дня, недели и месяца от 01.01.1970
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;
Ответить с цитированием
  #18 (permalink)  
Старый 04.11.2022, 22:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

новая картинка каждый день
Тапочек,
<!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>

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

Сообщение от voraa
const now = Date.now();  // мс с 01.01.1970
Вернее будет так
const now = Date.now() -(new Date().getTimezoneOffset()) * 60000;

Что бы день менялся в 00:00:00 по местному времени.
Ответить с цитированием
  #20 (permalink)  
Старый 05.11.2022, 01:12
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Voraa, да, коряво объяснил. Мне нужно, чтобы по клику на картинку открывалась ссылка (на каждую картинку своя ссылка). В вашем скрипте только ссылка на картинку ('http://serv/pic1.jpg'), она не кликабельна, то есть, она не ссылка, а просто картинка

рони, если менять часы системные часы, то вроде ничего не меняется. Хотя наступил новый день и картинка сменилась... Не понимаю, как это происходит 0_0
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить код в скрипт? Блондинка Общие вопросы 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