Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Слишком длинный код (https://javascript.ru/forum/misc/86005-slishkom-dlinnyjj-kod.html)

Сергей Ракипов 25.07.2024 13:17

Я сейчас заметил что на мобильных то не работает. Я нажимаю и все пропало. Начал думаю и попробовал изменить на click на touchstart и что то не чего

Сергей Ракипов 25.07.2024 16:07

Я вот нашел какой решение

// Получаем элемент с классом .pic_card_img
const picCardImg = document.querySelector(".pic_card_img");
// Получаем все элементы с id, начинающимся с 'explanation_card-'
const explanationCards = document.querySelectorAll('[id^="explanation_card-"]');
// Перебираем каждый элемент
explanationCards.forEach((o, i) => {
  // Создаем URL изображения
  // const url = `url(${window.location.origin}/web/rules/picture/thumbnail_card-${i}.png)`;
  const url = `url(../picture/thumbnail_card-${i}.png)`;
  // Добавляем обработчик события наведения на элемент
  o.addEventListener("mouseenter", () => {
    // Устанавливаем фоновое изображение для элемента picCardImg
    picCardImg.style.backgroundImage = url;
  });
  // Добавляем обработчик события ухода с элемента
  o.addEventListener("mouseleave", () => {
    // Возвращаем исходное фоновое изображение, если оно было установлено
    // picCardImg.style.backgroundImage = `url(${window.location.origin}/web/rules/picture/thumbnail_card_front.png)`;
    picCardImg.style.backgroundImage = `url(../picture/thumbnail_card_front.png)`;
  });
  // Обработчик для касания на мобильных устройствах
  o.addEventListener("touchstart", () => {
    // Устанавливаем фоновое изображение для элемента picCardImg
    picCardImg.style.backgroundImage = url;
  });
});

Сергей Ракипов 25.07.2024 16:11

Но проблема в том что У меня либо на локальном не работает либо на хостинге. Идут ошибки что файлы не найдены. То есть работает либо там либо так вот из за этого

// Создаем URL изображения
  // const url = `url(${window.location.origin}/web/rules/picture/thumbnail_card-${i}.png)`;
  const url = `url(../picture/thumbnail_card-${i}.png)`;


И тут так же

// Возвращаем исходное фоновое изображение, если оно было установлено
    // picCardImg.style.backgroundImage = `url(${window.location.origin}/web/rules/picture/thumbnail_card_front.png)`;
    picCardImg.style.backgroundImage = `url(../picture/thumbnail_card_front.png)`;


вот первый url это для хостинга а второй это для локалки.

И работаю одно комментирую в хостинг гружу другое комментарию, это даже на костыль не похоже, а на какую то инвалидную коляску.

Сергей Ракипов 25.07.2024 16:12

Как сделать что бы и на локальном на хостинге работало без вот этого

Сергей Ракипов 25.07.2024 18:46

Все проблему решил.


Часовой пояс GMT +3, время: 21:39.