Javascript.RU

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

Сообщение от voraa Посмотреть сообщение
Что бы день менялся в 00:00:00 по местному времени.
Со скриптом я более-менее разобрался, но открытым остаётся вопрос, как сделать картинку кликабельной. Я так понял, что вот это в коде
<a href=index.htm><img id='pd'></a>

не просто так
Ответить с цитированием
  #22 (permalink)  
Старый 05.11.2022, 13:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,115

Тапочек,
наверно надо создать массив href и выбирать также
const href = arr[ind];
document.querySelector("#pd").parentNode.href = href;
Ответить с цитированием
  #23 (permalink)  
Старый 05.11.2022, 15:22
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Сообщение от рони Посмотреть сообщение
Тапочек,
наверно надо создать массив 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>
Ответить с цитированием
  #24 (permalink)  
Старый 05.11.2022, 17:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,115

Тапочек,
<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>
Ответить с цитированием
  #25 (permalink)  
Старый 05.11.2022, 19:03
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Сообщение от рони Посмотреть сообщение
рони
А вот теперь огромнейшее спасибо!
Ответить с цитированием
  #26 (permalink)  
Старый 18.11.2022, 21:18
Интересующийся
Отправить личное сообщение для Тапочек Посмотреть профиль Найти все сообщения от Тапочек
 
Регистрация: 02.11.2022
Сообщений: 23

Сообщение от Тапочек Посмотреть сообщение
А вот теперь огромнейшее спасибо!
Рано я порадовался. Скрипт не работает, как его не настраимвай и перенастраивай
Ответить с цитированием
  #27 (permalink)  
Старый 18.11.2022, 21:24
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,746

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

Сообщение от voraa Посмотреть сообщение
Какой именно скрипт и что конкретно не работает?
Последний скрипт от рони. Я заменил адреса картинок, закинул его в файл script.js и подключил к странице. Никакая картинка не отображается, вообще ничего не отображается
Ответить с цитированием
  #29 (permalink)  
Старый 18.11.2022, 21:52
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,746

Где вызываете этот скрипт? В начале html файла или в конце?
Какие ошибки в консоле?

Если в начеле подключили так, как он написан, то конечно не будет работать. DOM дерева еще нет и
document.querySelector(".pic").src = obj.src;
document.querySelector("#pd").href = obj.href;
вызовут ошибку

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

Сообщение от 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, но не выходит, он опять начинает "с понедельника"

Вот примерно я такой скрипт и просил, но, по видимому, это уж чересчур сложная задача
Ответить с цитированием
Ответ



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

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


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