
05.11.2022, 13:39
|
 |
Интересующийся
|
|
Регистрация: 02.11.2022
Сообщений: 28
|
|
Сообщение от voraa
|
|
Что бы день менялся в 00:00:00 по местному времени.
|
Со скриптом я более-менее разобрался, но открытым остаётся вопрос, как сделать картинку кликабельной. Я так понял, что вот это в коде
<a href=index.htm><img id='pd'></a>
не просто так
|
|

05.11.2022, 13:50
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
Тапочек,
наверно надо создать массив href и выбирать также
const href = arr[ind];
document.querySelector("#pd").parentNode.href = href;
|
|

05.11.2022, 15:22
|
 |
Интересующийся
|
|
Регистрация: 02.11.2022
Сообщений: 28
|
|
Сообщение от рони
|
Тапочек,
наверно надо создать массив href и выбирать также
|
Да я и не спорю. Вопрос как? =)
Я вот что-то наваял как смог, код вроде работает, но он кривой до чёртиков. Я не знаю, что, как и куда правильно писать, для меня это магия
<a href=index.htm><img id='pd'>
<img src="" class="pic">
<script>
const picurls = [
'http://00.gif?1',
'http://01.gif?2',
'http://02.gif?3',
'http://03.gif?4',
];
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.querySelector(".pic").src = url;
// разделитель
const arr = [
'http://google.com?1',
'http://yahoo.com?2',
'http://yandex.ru?3',
'http://rambler.ru?4',
];
const href = arr[ind];
document.querySelector("#pd").parentNode.href = href;
</script>
|
|

05.11.2022, 17:28
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,155
|
|
Тапочек,
<a href=index.htm id='pd'>
<img src="" class="pic"></a>
<script>
const picurls = [{
src: 'http://00.gif?1',
href: 'http://google.com?1'
}, {
src: 'http://01.gif?2',
href: 'http://yahoo.com?2'
}, {
src: 'http://02.gif?3',
href: 'http://yandex.ru?3'
}, {
src: 'http://03.gif?4',
href: 'http://rambler.ru?4'
}];
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 obj = picurls[ind];
document.querySelector(".pic").src = obj.src;
document.querySelector("#pd").href = obj.href;
</script>
|
|

05.11.2022, 19:03
|
 |
Интересующийся
|
|
Регистрация: 02.11.2022
Сообщений: 28
|
|
Сообщение от рони
|
|
рони
|
А вот теперь огромнейшее спасибо! 
|
|

18.11.2022, 21:18
|
 |
Интересующийся
|
|
Регистрация: 02.11.2022
Сообщений: 28
|
|
Сообщение от Тапочек
|
А вот теперь огромнейшее спасибо!
|
Рано я порадовался. Скрипт не работает, как его не настраимвай и перенастраивай
|
|

18.11.2022, 21:24
|
 |
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,782
|
|
|
Какой именно скрипт и что конкретно не работает?
|
|

18.11.2022, 21:37
|
 |
Интересующийся
|
|
Регистрация: 02.11.2022
Сообщений: 28
|
|
Сообщение от voraa
|
|
Какой именно скрипт и что конкретно не работает?
|
Последний скрипт от рони. Я заменил адреса картинок, закинул его в файл script.js и подключил к странице. Никакая картинка не отображается, вообще ничего не отображается
|
|

18.11.2022, 21:52
|
 |
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,782
|
|
|
Где вызываете этот скрипт? В начале html файла или в конце?
Какие ошибки в консоле?
Если в начеле подключили так, как он написан, то конечно не будет работать. DOM дерева еще нет и
document.querySelector(".pic").src = obj.src;
document.querySelector("#pd").href = obj.href;
вызовут ошибку
Последний раз редактировалось voraa, 18.11.2022 в 21:56.
|
|

18.11.2022, 22:22
|
 |
Интересующийся
|
|
Регистрация: 02.11.2022
Сообщений: 28
|
|
Сообщение от voraa
|
Где вызываете этот скрипт? В начале html файла или в конце?
Какие ошибки в консоле?
Если в начеле подключили так, как он написан, то конечно не будет работать. DOM дерева еще нет и
document.querySelector(".pic").src = obj.src;
document.querySelector("#pd").href = obj.href;
вызовут ошибку
|
Я не совсем понимаю, как объяснить. Привожу пример. У меня на странице есть небольшой раздел (он не в конце и не в начале, он на своём месте), где должна показываться каждый день новая картинка. Вот есть, например, такой скрипт, но он меняет картинки только 7 раз (по дням недели). Вместо картинок тут приветствия, но не суть важно
<Script Language="JavaScript">
now = new Date()
if (now.getDay() == 0)
document.write("Отдыхайте, завтра рабочий день...")
if (now.getDay() == 1)
document.write("Сегодня понедельник - настраивайтесь на работу")
if (now.getDay() == 2)
document.write("Уже вторник, понедельник к счастью позади!")
if (now.getDay() == 3)
document.write("Половина недели позади - сегодня уже среда")
if (now.getDay() == 4)
document.write("Сегодня четверг, скоро выходные...")
if (now.getDay() == 5)
document.write("Сегодня пятница - последний рабочий день")
if (now.getDay() == 6)
document.write("Сегодня первый день выходных!")
</Script>
Мне нужно, чтобы картинка менялась не 7 раз, а 50. Я попытался его изменить, что бы после ==6 шло ==7, а не опять ==0, но не выходит, он опять начинает "с понедельника"
Вот примерно я такой скрипт и просил, но, по видимому, это уж чересчур сложная задача
|
|
|
|