qna.habr.com Open in urlscan Pro
178.248.233.33  Public Scan

URL: https://qna.habr.com/q/1258898
Submission: On May 08 via manual from AU — Scanned from AU

Form analysis 1 forms found in the DOM

GET search

<form class="suggest" action="search" method="get" id="header_search_form">
  <div class="suggest__field_wrap">
    <div class="suggest__wrap_fluid">
      <span role="status" aria-live="polite" class="ui-helper-hidden-accessible"></span><input class="suggest__field ui-autocomplete-input" type="search" autocomplete="off" name="q" placeholder="Найти вопрос, ответ, тег или пользователя" value="">
    </div>
    <button class="btn btn_link" type="button" role="btn_suggest_close">
      <span>Закрыть</span>
    </button>
  </div>
  <button class="btn btn_suggest" type="button" role="btn_suggest">
    <svg class="icon_svg icon_search" viewBox="0 0 32 32">
      <use href="644cd3f6/images/sprite.svg#icon_search"></use>
    </svg>
  </button>
</form>

Text Content

Все сервисы Хабра


Сообщество IT-специалистов



Ответы на любые вопросы об IT



Профессиональное развитие в IT



Удаленная работа для IT-специалистов

А как работать?
Офисный супергерой в поисках идеального хранилища паролей
Войти на сайт
 * Все вопросы
 * Все теги
 * Пользователи


ХАБР Q&A — ВОПРОСЫ И ОТВЕТЫ ДЛЯ IT-СПЕЦИАЛИСТОВ

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой
теме.

Узнать больше

ДРУГИЕ ПРОЕКТЫ ХАБРА

 * Хабр
 * Карьера
 * Фриланс


Закрыть
Задать вопрос

smarisov666 @smarisov666
 * JavaScript


КАК ИСПРАВИТЬ ОШИБКУ С DISPLAY NONE?

Имею вот такой HTML код:



<div class="col-md-10 text-right menu-1" style="line-height: 53px;">
    <ul>
        <li class="active"><a href="/about-us.html" onclick="closemenu()">About Us</a></li>
        <li><a class="aldi-topmenu" href="#characters" onclick="closemenu()">Characters</a></li>
        <li><a class="aldi-topmenu" href="#roadmap" onclick="closemenu()">Roadmap</a></li>
        <li><a class="aldi-topmenu" href="#misterium-footer" onclick="closemenu()">Follow us</a></li>
        <li><a class="aldi-topmenu" href="https://drive.google.com/file/d/1LSolEXtnpwkWGDts2iEuMtibpIfy4BO0/view?usp=share_link" onclick="closemenu()" target="_blank">Whitepaper</a></li>
        <li class="dropdown">
            <a class="aldi-topmenu" style="cursor: pointer;" id='connect_wallet'>Connect wallet</a>
            <div>
                <a class="aldi-topmenu" id="metamask" onclick="connectMetamask()" style="display: none">Metamask</a>
                <a class="aldi-topmenu" id="phantom" onclick="connectPhantom()" style="display: none">Phantom</a>
            </div>
        </li>
    </ul>
</div>


И такой JS скрипт:



document.getElementById('connect_wallet').addEventListener('click', event => {
    const metamask = document.getElementById("metamask");
    const phantom = document.getElementById("phantom");

    if (metamask.style.display === "none" && phantom.style.display === "none") {
        metamask.style.display = "";
        phantom.style.display = "";
    } else {
        metamask.style.display = "none";
        phantom.style.display = "none";
    }
});


Почему это не работает? Работает пару раз пока страница грузится, когда страница
загружена - всё, работать перестает.
 * Вопрос задан 04 мар.
 * 100 просмотров

Комментировать
Подписаться 1 Простой Комментировать
 * Facebook
 * Вконтакте
 * Twitter


Реклама

Решения вопроса 0

Пригласить эксперта
Ответы на вопрос 2
Айнур Бирдин @kalsc12345
Неизвестный человек.
Для решения этой проблемы можно изменить условие на



"metamask.style.display === '' && phantom.style.display === ''",



Примерно так


document.getElementById('connect_wallet').addEventListener('click', event => {
  const metamask = document.getElementById("metamask");
  const phantom = document.getElementById("phantom");

  if (metamask.style.display === "" && phantom.style.display === "") {
    metamask.style.display = "none";
    phantom.style.display = "none";
  } else {
    metamask.style.display = "";
    phantom.style.display = "";
  }
});

document.addEventListener('click', event => {
  const menu = document.querySelector('.menu-1');
  const isClickInsideMenu = menu.contains(event.target);

  if (!isClickInsideMenu) {
    const metamask = document.getElementById("metamask");
    const phantom = document.getElementById("phantom");

    metamask.style.display = "none";
    phantom.style.display = "none";
  }
});

Ответ написан 04 мар.
Комментировать
Нравится Комментировать
 * Facebook
 * Вконтакте
 * Twitter

Khamzabek @Khamzabek
Для того чтобы скрипт работал корректно, необходимо убедиться, что он вызывается
после того, как все элементы страницы загрузились и были полностью
инициализированы.

Для этого можно использовать событие "DOMContentLoaded", которое срабатывает,
когда загружены все элементы страницы. Например, так:


document.addEventListener('DOMContentLoaded', function() {
  document.getElementById('connect_wallet').addEventListener('click', event => {
        const metamask = document.getElementById("metamask");
        const phantom = document.getElementById("phantom");

        if (metamask.style.display === "none" && phantom.style.display === "none") {
          metamask.style.display = "";
          phantom.style.display = "";
        } else {
          metamask.style.display = "none";
          phantom.style.display = "none";
        }
      });
});


Также убедитесь, что элементы с id "metamask" и "phantom" действительно
существуют на странице. Если эти элементы генерируются динамически, то нужно
дождаться их появления на странице и только после этого привязываться к ним.
Ответ написан 04 мар.
Комментировать
Нравится Комментировать
 * Facebook
 * Вконтакте
 * Twitter

Ваш ответ на вопрос


ВОЙДИТЕ, ЧТОБЫ НАПИСАТЬ ОТВЕТ

Войти через центр авторизации
Похожие вопросы
 *  * JavaScript
    * +4 ещё
   
   Средний
   
   
   КАК СДЕЛАТЬ ФИКСИРОВАННОЕ РАССТОЯНИЕ МЕЖДУ СЛАЙДАМИ В СЛАЙДЕРЕ?
   
    * 1 подписчик
    * 2 часа назад
    * 12 просмотров
   
   0
   ответов
 *  * JavaScript
    * +1 ещё
   
   Средний
   
   
   НЕ РАБОТАЕТ КНОПКА В JS,ЧТО ДЕЛАТЬ?
   
    * 1 подписчик
    * 2 часа назад
    * 30 просмотров
   
   1
   ответ
 *  * JavaScript
    * +3 ещё
   
   Простой
   
   
   КАК НАРИСОВАТЬ ГРАФИК CHART.JS, ЧТОБЫ ПО ОСИ X СТОЯЛИ ТОЛЬКО ЧАСЫ, НО ДАННЫЕ
   ОТОБРАЖАЛИСЬ ПОМИНУТНО?
   
    * 4 подписчика
    * 8 часов назад
    * 74 просмотра
   
   1
   ответ
 *  * JavaScript
   
   Простой
   
   
   КАК ПРАВИЛЬНО ОРГАНИЗОВАТЬ ЗАКРЫТИЕ ОКНА ПРИ КЛИКЕ ВНЕ НЕГО?
   
    * 1 подписчик
    * 13 часов назад
    * 43 просмотра
   
   1
   ответ
 *  * JavaScript
   
   Простой
   
   
   КАК ОБЕРНУТЬ ЭЛЕМЕНТЫ В КОНТЕЙНЕР ВНУТРИ DETAILS С ПОМОЩЬЮ JQUERY?
   
    * 1 подписчик
    * 14 часов назад
    * 23 просмотра
   
   0
   ответов
 *  * JavaScript
   
   Простой
   
   
   МОЖНО ЛИ НАСТРОИТЬ ДОБАВЛЕНИЕ/УДАЛЕНИЕ КЛАССОВ В СВОЙСТВЕ TOGGLE()?
   
    * 1 подписчик
    * 14 часов назад
    * 38 просмотров
   
   1
   ответ
 *  * JavaScript
    * +2 ещё
   
   Средний
   
   
   ПЕРЕДАЧА МАССИВА ИЗ PHP В JS?
   
    * 1 подписчик
    * 14 часов назад
    * 104 просмотра
   
   1
   ответ
 *  * JavaScript
   
   Простой
   
   
   КАК ВЫВЕСТИ НЕПОВТОРЯЮЩИЕ ЧИСЛА С ПОМОЩЬЮ РАНДОМА?
   
    * 1 подписчик
    * 15 часов назад
    * 68 просмотров
   
   2
   ответа
 *  * JavaScript
    * +1 ещё
   
   Простой
   
   
   КАК УЗНАТЬ КАКИМ СПОСОБОМ/АЛГОРИТМОМ МИНИФИЦИРОВАН/СЖАТ JS ФАЙЛ?
   
    * 1 подписчик
    * 18 часов назад
    * 62 просмотра
   
   0
   ответов
 *  * JavaScript
   
   Простой
   
   
   ЗАМЕНА ТЕГА ЧЕРЕЗ JS ПОЧЕМУ НЕ РАБОТАЕТ?
   
    * 1 подписчик
    * 20 часов назад
    * 67 просмотров
   
   0
   ответов
 * Показать ещё Загружается…

Вакансии с Хабр Карьеры
Middle / Senior Fullstack разработчик (JavaScript)
МИЦ «Известия» • Москва
До 250 000 ₽
Разработчик-репетитор на курс «JavaScript. Архитектура клиентских приложений»
html academy
от 30 000 до 60 000 ₽
Senior/Lead Backend Developer (NodeJS, JavaScript)
Biqutex
от 5 000 до 7 000 $
Ещё вакансии
Заказы с Хабр Фриланса
Разработать JS скрипт для подключения Yandex Map
08 мая 2023, в 14:03
2000 руб./за проект
Срочно разместить 5 карточек товаров на Алиэкспрессе
08 мая 2023, в 13:54
500 руб./за проект
Помощь с анализом данных
08 мая 2023, в 13:52
6000 руб./за проект
Ещё заказы

МИНУТОЧКУ ВНИМАНИЯ

 * Не охоться на людей: промокод на моей груди — на него ты погляди
   Промо
 * Чего хочет разработчик: пирамида потребностей
   Спецпроект
 * Глупым вопросам и ошибкам — быть! IT-менторство на ХК
   Интересно

Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
Зарегистрироваться
Реклама

Самое интересное за 24 часа
 * Как отображать mp4 видео без ос?
   * 2 подписчика
   * 3 ответа
 * Почему не удаётся запустить Telegram-клиент на Pyrogram?
   * 2 подписчика
   * 0 ответов
 * Как внедрить полнотекстовый поиск?
   * 2 подписчика
   * 1 ответ
 * Как подключить два монитора к Apple MacBook Pro 14 M1 Pro?
   * 3 подписчика
   * 2 ответа
 * Как нарисовать график Chart.js, чтобы по оси X стояли только часы, но данные
   отображались поминутно?
   * 4 подписчика
   * 1 ответ
 * Google откатил позиции обратно назад после переезда, как правильно поступить?
   * 2 подписчика
   * 0 ответов
 * Просмотрщик изображений с функцией ручной сортировки?
   * 5 подписчиков
   * 2 ответа
 * Для тех кто пользовался сборками флибустина, стоит ли ставить сборку 10ltsc?
   Что по стабильности? Как долго пользовались?
   * 3 подписчика
   * 3 ответа
 * Как подключить стили и meta, если в задании написано, что код не должен
   содержать html,header и body?
   * 2 подписчика
   * 2 ответа

 * © Habr
 * О сервисе
 * Правила
 * Обратная связь
 * Блог

 * 
 * 
 * 


ВОЙДИТЕ НА САЙТ

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть