Почему окно чата открывается до того, как я нажму на кнопку “открыть чат”?

Вопрос или проблема

Итак, изначально у меня не было проблем. Все работало нормально. Я загрузил скрипт, и он давал только опцию «открыть чат».

Теперь он загружает все окно чата, уже открытое, но не страницу содержимого чата. Мне нужно нажать «выйти из чата» и «открыть чат», чтобы фактически открыть содержимое.

Я не хочу, чтобы окно содержимого открывалось, пока я не нажму «открыть чат».

(Для удобства я оставил CSS в виде тега стиля на веб-странице на данный момент. Обычно у меня есть ссылка на таблицу стилей в заголовке.)

HTML

<!DOCTYPE html>
    <html lang="ru">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <style>
#forumWindow {
    padding: 10px;
    height: 350px;
    width: 250px;
    opacity:0.9;
    filter:alpha(opacity=50);
    -moz-border-radius: 20px 20px 20px 20px; 
    -webkit-border-radius: 20px 20px 20px 20px;
    border: 1px #000 dotted;
    z-index: 1000;
        }
    .button { background:url('http://www.haikimura.com/images/b.png');
    -moz-border-radius: 1em;
    -webkit-border-radius: 1em; 
    z-index:4; 
    border-radius: 1em; 
    border:1px dotted #FFF0F5; 
    font-family: Garamond; 
    color: #fff; 
    font-size: 15px; }

     .box { 
    position: fixed; 
    bottom: 5px; 
    right: 40px; 
    width: 250px; 
    padding: 0px; 
    text-align: center; 
    cursor: default;
    background:url('http://www.haikimura.com/images/b.png') repeat; opacity:.80; 
    border:1px dotted #FFF0F5; 
    color: #fff; 
    font-family: Garamond; 
    font-size: 15px; 
    border-radius:5px; }

    .prettyFrame { 
    width: 100%; 
    height: 90%; 
    -moz-border-radius: 20px 20px 20px 20px; 
    -webkit-border-radius: 20px 20px 20px 20px; 
    border: none; }
</style>
    </head>
    <body>

    <button id="openForumBtn" class="box">открыть чат</button>
   
   
    <div id="overlay"></div>
    <div id="forumWindow" class="box">
    <iframe id="forumFrame" src="" class="prettyFrame"></iframe>
    <button id="closeForumBtn" class="button">выйти из чата</button>
    </div> 

<script>
document.getElementById('openForumBtn').addEventListener('click', function() {
    document.getElementById('forumWindow').style.display = 'block';
    document.getElementById('forumFrame').src="https://www.haikimura.com/"; // Замените на URL вашего форума
    });

    document.getElementById('closeForumBtn').addEventListener('click', function () {
    document.getElementById('forumWindow').style.display = 'none';
    document.getElementById('forumFrame').src="";
    }); 
</script>

    </body>
    </html>

css

#forumWindow {
    padding: 10px;
    height: 350px;
    width: 250px;
    opacity:0.9;
    filter:alpha(opacity=50);
    -moz-border-radius: 20px 20px 20px 20px; 
    -webkit-border-radius: 20px 20px 20px 20px;
    border: 1px #000 dotted;
    z-index: 1000;
        }
    .button { background:url('http://www.haikimura.com/images/b.png');
    -moz-border-radius: 1em;
    -webkit-border-radius: 1em; 
    z-index:4; 
    border-radius: 1em; 
    border:1px dotted #FFF0F5; 
    font-family: Garamond; 
    color: #fff; 
    font-size: 15px; }

     .box { 
    position: fixed; 
    bottom: 5px; 
    right: 40px; 
    width: 250px; 
    padding: 0px; 
    text-align: center; 
    cursor: default;
    background:url('http://www.haikimura.com/images/b.png') repeat; opacity:.80; 
    border:1px dotted #FFF0F5; 
    color: #fff; 
    font-family: Garamond; 
    font-size: 15px; 
    border-radius:5px; }

    .prettyFrame { 
    width: 100%; 
    height: 90%; 
    -moz-border-radius: 20px 20px 20px 20px; 
    -webkit-border-radius: 20px 20px 20px 20px; 
    border: none; }

js

document.getElementById('openForumBtn').addEventListener('click', function() {
    document.getElementById('forumWindow').style.display = 'block';
    document.getElementById('forumFrame').src="https://www.haikimura.com/"; 
    });

    document.getElementById('closeForumBtn').addEventListener('click', function () {
    document.getElementById('forumWindow').style.display = 'none';
    document.getElementById('forumFrame').src="";
    }); 

Добавление display: none к #forumWindow в качестве начального значения решит вашу проблему

#forumWindow {
 padding: 10px;
 height: 350px;
 width: 250px;
 opacity:0.9;
 filter:alpha(opacity=50);
 -moz-border-radius: 20px 20px 20px 20px; 
 -webkit-border-radius: 20px 20px 20px 20px;
 border: 1px #000 dotted;
 z-index: 1000;
 display: none; // здесь
}

Ответ или решение

Причина, по которой окно чата открывается до того, как вы нажмете кнопку "открыть чат", заключается в том, что элемент с идентификатором forumWindow не скрыт по умолчанию. Чтобы решить эту проблему, необходимо установить стили таким образом, чтобы элемент по умолчанию был скрыт.

Вам нужно добавить свойство display: none; к селектору #forumWindow в вашем CSS. Это предотвратит его появление на странице до тех пор, пока вы не нажмете кнопку для его открытия. Вот так ваш CSS должен выглядеть:

#forumWindow {
    padding: 10px;
    height: 350px;
    width: 250px;
    opacity: 0.9;
    filter: alpha(opacity=50);
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    border: 1px #000 dotted;
    z-index: 1000;
    display: none; /* Добавлено для скрытия окна чата по умолчанию */
}

Теперь, когда #forumWindow изначально скрыт с помощью display: none;, он не будет отображаться на странице до тех пор, пока вы не нажмете кнопку "открыть чат".

Также убедитесь, что при нажатии кнопки openForumBtn вы устанавливаете forumWindow в отображаемое состояние с помощью document.getElementById('forumWindow').style.display = 'block';, как это уже сделано в вашем JavaScript-коде:

document.getElementById('openForumBtn').addEventListener('click', function() {
    document.getElementById('forumWindow').style.display = 'block';
    document.getElementById('forumFrame').src="https://www.haikimura.com/"; // Замените на ваш URL форума
});

Таким образом, при корректировке начальных стилей, ваше окно чата будет оставаться скрытым до тех пор, пока пользователь не решит его открыть, нажимая кнопку. Если у вас есть другие вопросы или проблемы, не стесняйтесь обращаться.

Оцените материал
Добавить комментарий

Капча загружается...