Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как закрыть дочерние окно из родительского при помощи переключателя checkbox?? (https://javascript.ru/forum/misc/13817-kak-zakryt-dochernie-okno-iz-roditelskogo-pri-pomoshhi-pereklyuchatelya-checkbox.html)

dieseln 15.12.2010 01:03

Как закрыть дочерние окно из родительского при помощи переключателя checkbox??
 
Задача такая:

Сделайте на странице чек-бокс "Часы", изначально не отмеченный. Если пользователь отмечает этот чек-бокс, то появляется новое окно без всех дополнительных опций (без меню, строки статуса, панели инструментов и т.д.). В этом окне необходимо показывать время красивыми графическими цифрами (часы должны правильно идти).

Если пользователь удалит отметку чек-бокса "Часы" в основном окне, то окно с часами необходимо закрыть. Кроме этого окно с часами закрывается, если на место Вашей страницы загружается другая.

Что есть:

На родительском окне создал чек-бокс "Часы", щёлкаю (ставлю галку) по чек-боксу появляется дочернее окно с часами (часы тикают), щёлкаю (убираю галку) дочерее окно не закрывается.

Вопрос:

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

<body OnLoad="show3()">

<h1> Задание 5. </h1>

 <input type="checkbox" name="myCheckBox" onClick="child_open()" /> Часы <br>

 
 <SCRIPT LANGUAGE="JavaScript">

 function child_open()
{
  if (myCheckBox.checked)
  {   var newWin = window.open( "часы.html",'new',"width=750,height=400,toolbar=7") 
      newWin.focus(); }
  
  else
   { 
    window.close();
	newWin.close();
   }
  }
 
 </script>
 
</body>

bushstas 15.12.2010 11:01

if (myCheckBox.checked){

var newWin = window.open( "часы.html",'new',"width=750,height=400,toolbar=7")

помоему правильнее так
if (myCheckBox.checked==true){

newWin = window.open( "часы.html",'new',"width=750,height=400,toolbar=7")


убери
var
изза нее не работет

при втором входе в функцию объекта не существует если писать var
window.close(); тоже тут лишнее

ksa 15.12.2010 11:51

Цитата:

Сообщение от dieseln
Как сделать чтобы при втором нажатии на чек-бокс дочернее окно закрывалось?

Как вариант, сделать переменную newWin не локальной, а глобальной...
Иначе, как писалось
Цитата:

Сообщение от bushstas
при втором входе в функцию объекта не существует


dieseln 15.12.2010 16:29

..

dieseln 15.12.2010 16:30

bushstas, ksa,
Спасибо всё получилось :)


Часовой пояс GMT +3, время: 04:25.