Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Даниил_082
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
1

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

13.12.2016, 09:00. Просмотров 1726. Ответов 9
Метки нет (Все метки)

Не так давно начал заниматься веб-разработкой и столкнулся с проблемой, на странице есть всплывающие окна div, есть скрипт который открывает это окно, как сделать так, чтобы при открытии другого окна, первое автоматически закрывалось?
Заранее спасибо !

Вот скрипт с методами

Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
            function showHide(element_id) {
                if (document.getElementById(element_id)) {
                    var obj = document.getElementById(element_id);
                    if (obj.style.display != "block") {
                        obj.style.display = "block"; //Показываем элемент
                    }
                    else obj.style.display = "none"; //Скрываем элемент
                }
            }  
</script>
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2016, 09:00
Ответы с готовыми решениями:

Как сделать так чтобы при открытии формы, автоматически нажалась кнопка на форме?
Всем привет. Народ, подскажите, как сделать так чтобы при открытии формы, автоматически...

Чтобы при открытии нового модального окна предыдущее закрывалось через onclick
Здравствуйте. У меня есть label, при нажатии на который открывается модальное окно. В этом...

Сделать так, чтобы при открытии нового окна webbrowser не вылетал IE, а выходило окно моей программы
Подкажите, как сделать так, чтобы при открытии нового окна (используя webbrowser) не вылетал IE, а...

Как сделать так, чтобы при нажатии виртуальной кнопки (button) приложение закрывалось
Как сделать так, чтобы при нажатии виртуальной кнопки (button) приложение закрывалось

9
vettel
83 / 83 / 41
Регистрация: 14.02.2015
Сообщений: 320
13.12.2016, 10:42 2
Цитата Сообщение от Даниил_082 Посмотреть сообщение
как сделать так, чтобы при открытии другого окна, первое автоматически закрывалось?
В вашем случае можно просто вызывать при открытии другого окна ф-ю и для первого тоже. Для первого окна ф-я скроет блок, а для второго - раскроет.
1
Даниил_082
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
13.12.2016, 10:50  [ТС] 3
vettel, Не совсем могу понять как это реализовать, новичок в JS

Не могли бы вы показать как это должно выглядеть ?
0
Уф
744 / 679 / 419
Регистрация: 13.07.2015
Сообщений: 2,094
Завершенные тесты: 2
13.12.2016, 10:57 4
Лучший ответ Сообщение было отмечено Даниил_082 как решение

Решение

ну например так
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var prevId = ''; //ключ предыдущего окна
function showHide(element_id) {
    if(prevId.length != 0 && prevId != element_id) { //если в переменной чтото есть и она отличается от текущей то скрываем
        var obj2 = document.getElementById(prevId);
        obj2.style.display = "none"; 
    }
    if (document.getElementById(element_id)) {
        var obj = document.getElementById(element_id);
        if (obj.style.display != "block") {
            obj.style.display = "block"; //Показываем элемент
        }
        else obj.style.display = "none"; //Скрываем элемент
        prevId = element_id;
    }
}
1
Даниил_082
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
13.12.2016, 11:06  [ТС] 5
Уф, Наверное я что-то не так делаю, но пока не работает

Может что не так в ссылке
HTML5
1
<li><a href="javascript:void(0)" onclick="showHide('block_id')">Открытие блока</a></li>
0
j2FunOnly
Модератор
Эксперт JS
1422 / 1202 / 634
Регистрация: 05.06.2015
Сообщений: 2,619
13.12.2016, 11:09 6
Цитата Сообщение от Даниил_082 Посмотреть сообщение
Javascript
1
<li><a href="javascript:void(0)" onclick="showHide('block_id')">Открытие блока</a></li>
Цитата Сообщение от Даниил_082 Посмотреть сообщение
Не так давно начал заниматься веб-разработкой
Книжка по которой вы занимаетесь веб-разработкой какого года?
1
Даниил_082
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
13.12.2016, 11:24  [ТС] 7
j2FunOnly, Пока пользуюсь исключительно богатством интернета

А что не так с ссылкой ?
0
Уф
744 / 679 / 419
Регистрация: 13.07.2015
Сообщений: 2,094
Завершенные тесты: 2
13.12.2016, 12:49 8
функция вообще не вызывается или предыдущий блок не скрывается?
если что она должна быть размещена вне тега $(document).ready(function().. иначе кнопка её не увидит, в консоль смотришь? ошибки есть какие?
1
Даниил_082
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
15.12.2016, 03:48  [ТС] 9
Уф, Функция теперь вообще не выполняется, консоль выдаёт ошибку "Cannot read property 'style' of null"
0
Даниил_082
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
20.12.2016, 11:17  [ТС] 10
Задачу решил через JQuery, всем большое спасибо
0
20.12.2016, 11:17
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2016, 11:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как сделать, что бы при открытии окна автоматически был выбран по умолчанию RadioButton
Есть несколько RadioButton, необходимо сделать, что-бы один из них был Checked при запуске...

Как сделать так чтобы страничка при увеличения разрешения не двигалась в разные стороны, и как сделать чтобы при открытии в опере и в других браузерах
все обьекты на странице не двигались в разные стороны???

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

Как сделать так чтобы диалоговое окно закрывалось через определенный промежуток времени?
Как сделать так что бы диалоговое окно закрывалось через определенный промежуток времени ? К...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.