Помощь со стилями

i.lisovenko
На сайте с 14.01.2022
Offline
38
137
Всем привет в очередной раз. Я конечно люблю делать сайтики, но частенько туплю в простых вещах. Надеюсь кто-нибудь поможет ну или за небольшую денежку, так как по сути дел на 5 минут. У меня на сайте (первый в подписи) верхнее меню (1, 2 и 5 кнопка) сделана просто, при наведении мышкой показывается текст. Вот хочу сделать чтоб он появлялся не при наведении мышкой а именно при клике на эти пункты меню и чтоб он скрывался если кликать где то в пустом месте, так как на мобильной версии всплывающий текст не очень мне подходит, надо чтоб от нажатия именно работало. Сам попробовал несколько вариантов и все не то(
png i7wlz6_ir2ts4_2023-03-21_3_21.51.51.png
Сайт знакомств https://bluepink.life
htexture
На сайте с 29.05.2017
Offline
196
#1

(c) chatgpt

HTML:

<nav>
  <ul>
    <li><a href="#">1</a>
      <div class="dropdown">
        <p>Текст для пункта меню 1</p>
      </div>
    </li>
    <li><a href="#">2</a>
      <div class="dropdown">
        <p>Текст для пункта меню 2</p>
      </div>
    </li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a>
      <div class="dropdown">
        <p>Текст для пункта меню 5</p>
      </div>
    </li>
  </ul>
</nav>

CSS:

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

nav li {
  position: relative;
}

nav a {
  display: block;
  padding: 10px;
  text-decoration: none;
  color: #000;
}

nav .dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  
box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  display: none;
}

nav .dropdown p {
  margin: 0;
  padding: 10px;
}

nav li:hover .dropdown {
  display: block;
}

JavaScript:

const dropdowns = document.querySelectorAll('.dropdown');

document.addEventListener('click', function(event) {
  const target = event.target;

  // скрываем все выпадающие меню
  dropdowns.forEach(function(dropdown) {
    dropdown.style.display = 'none';
  });

  // если кликнули на ссылку в меню, показываем его текст
  if (target.tagName === 'A' && target.nextElementSibling) {
    target.nextElementSibling.style.display = 'block';
  }
});


i.lisovenko
На сайте с 14.01.2022
Offline
38
#2
htexture #:

(c) chatgpt

HTML:

CSS:

JavaScript:


Со стилями то понял и штмль, а вот скрипт куда вписать?(

W1
На сайте с 22.01.2021
Offline
286
#3
i.lisovenko :
по сути дел на 5 минут

Добрый совет: никогда так не пиши.

Мой форум - https://webinfo.guru –Там я всегда на связи

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий