debian_Lenovo-B50-30
@debian_Lenovo-B50-30

Как закрыть блок кликом вне блока?

Есть такая вот панелька

<?php

use core\Db;
use core\ErrorHandler;
use core\Helper;

if (ErrorHandler::$switch): ?>
    <div class="fixed-bottom bg-light text-dark p-1 border">
        <b>Сервер:</b> <?= apache_get_version() ?>
        |
        <b>PHP:</b> <?= phpversion() ?>
        |
        <b>Память:</b> <?= Helper::convertMemory(memory_get_usage()) ?>
        |
        <b>Генерация</b> <?= round(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], 3) ?> сек
        |
        <b>MySQL:</b> <?= Db::getServerVersion() ?>
        |
        <b>Подключений:</b> <?= Db::$count_instances ?>
        |
        <b>Запросов:</b> <?= Db::$count_sql ?>
        <?php if (Db::$count_sql): ?>
            - <a href="#tools" data-toggle="collapse">Посмотреть запросы</a>
            <ol class="collapse mb-0" id="tools">
                <?php foreach (Db::$queries as $query): ?>
                    <li><span class="text-danger"><?= $query ?></span></li>
                <?php endforeach; ?>
            </ol>
        <?php endif; ?>
    </div>
<?php endif; ?>


Закрыта-Открыта

5f6833b401035481093781.png
5f6833bccb493059296361.png

Панелька прикреплена внизу окна и при наличии запросов появляется ссылка [Посмотреть запросы], при нажатии на неё панелька раздвигается вверх, при повторном нажатии задвигается вниз в исходное состояние.

Возникла навязчивая идея после раскрытия панели закрывать её кликом в произвольное место окна, чтобы не целиться в ссылку для закрытия, как сделать?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
DanArst
@DanArst
Э, Ойboy!
Сделал на примере popup.style.display = 'none';
const popup = document.querySelector('#tools');

document.onclick = function(e){
    if ( event.target.id!= 'tools' ) {
        popup.style.display = 'none';
    };
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы