Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15

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

13.12.2016, 09:00. Показов 5297. Ответов 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)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.12.2016, 09:00
Ответы с готовыми решениями:

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

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

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

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

Не могли бы вы показать как это должно выглядеть ?
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
13.12.2016, 10:57
Лучший ответ Сообщение было отмечено Даниил_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
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
13.12.2016, 11:06  [ТС]
Уф, Наверное я что-то не так делаю, но пока не работает

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

А что не так с ссылкой ?
0
 Аватар для Уф
890 / 725 / 447
Регистрация: 13.07.2015
Сообщений: 2,277
13.12.2016, 12:49
функция вообще не вызывается или предыдущий блок не скрывается?
если что она должна быть размещена вне тега $(document).ready(function().. иначе кнопка её не увидит, в консоль смотришь? ошибки есть какие?
1
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
15.12.2016, 03:48  [ТС]
Уф, Функция теперь вообще не выполняется, консоль выдаёт ошибку "Cannot read property 'style' of null"
0
0 / 0 / 0
Регистрация: 28.05.2015
Сообщений: 15
20.12.2016, 11:17  [ТС]
Задачу решил через JQuery, всем большое спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.12.2016, 11:17
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru