|
|
|
Supreme Being
      
участник
Last Login: 24.09.2007 8:06
Сообщ.: 106,
Visits: 1 186
|
|
Хочу сделать панели примерно как в MSOffice. Делаю следующее:
<script language="JavaScript"> <!-- var _activ_panel = "";
//Начальные установки для открытия панели function PanelStart(_sn) { if (_activ_panel != "") {HidePanel(_sn);} _activ_panel = _sn; document.all[_sn].style.posLeft = screen.width; document.all[_sn].style.posLeft = document.body.clientWidth - 350; document.all[_sn].style.visibility = ""; ShowPanel(_sn); }
//Открытие панели function ShowPanel(_sn) { if (document.all[_sn].style.posLeft > 100) { document.all[_sn].style.posLeft = document.all[_sn].style.posLeft - 1 setTimeout("ShowPanel('" + _sn + "')", 1);} else { document.all[_sn].style.posLeft = 100; } }
//Закрытие панели function HidePanel(_sn) { if (document.all[_sn].style.posLeft < (document.body.clientWidth - 350)) { document.all[_sn].style.posLeft = document.all[_sn].style.posLeft + 1 setTimeout("HidePanel('" + _sn + "')", 1);} else { document.all[_sn].style.posLeft = screen.width; document.all[_sn].style.visibility = "hidden"; } } //==================================================== --> </script>
<body> <div ID="sloi_1" Style="position: absolute; top: 0; right: 350; height: middle; visibility: hidden;"> Проба 1 </div> <div ID="sloi_2" Style="position: absolute; top: 0; right: 350; height: middle; visibility: hidden;"> Проба 2 </div>
<div ID="sloi_all" visibility: none;"> <a href="#" onfocus="this.blur()" onclick="PanelStart('sloi_1'); return false;">Слой1</a> <a href="#" onfocus="this.blur()" onclick="PanelStart('sloi_2'); return false;">Слой2</a> </div> </body>
Пояснения: Слой должы "гулять" пределах от 100 до "Ширина окна" - 350 Но при всем при этом открытие первого слоя происходит нормально, а при открытии второго слоя первый слой не уходит (хотя вроде должен), а второй слой выходит и прячется снова. Где тут собака порылась, не пойму. Судя по всему проблема где-то в функции PanelStart, но вот где шут его знает. Помогите пожалуйста.
|
|
|
|