Показать сообщение отдельно
  #1 (permalink)  
Старый 08.09.2012, 16:08
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

Проблема с панелью пользователя
Есть панель пользователя наверху страницы.
<div id="toppanel">
	<div id="panel"></div>
	<div class="login_tab">
             <span id="toggle">
	         <a id="open" class="open" href="#">Открыть</a>
	         <a id="close" style="display: none;" class="close" href="#">Закрыть</a>			
             </span>
        </div>
</div>

По умолчанию она скрыта на login_tab висит кнопка "открыть", при нажатии на нее панель открывается, кнопка открыть меняется на "закрыть". Выполняется это при помощи скрипта:

$(document).ready(function() {

	// Сворачиваем панель
	$("#close").click(function(){
		$("div#panel").slideUp("slow");	
	});		

	// Разворачиваем панель
	$("#open").click(function(){
		$("div#panel").slideDown("slow");
	
	});

	// Переключение кнопок при нажатии кнопки мыши
	$("#toggle a").click(function () {
		$("#toggle a").toggle();
	});		
		
});

Хочу реализовать закрытие панели при нажатии на любой области страницы кроме области панели. Никак не получается написать работоспособный код.
Попробовал написать так:
$("div#body").click(function(){
      $("div#panel").slideUp("slow");
      $("#toggle a").toggle();
});

Вроде работает, но только при клике на блоке #body
$("body").not("a#open").click(function(){
      $("div#panel").slideUp("slow");
      $("#toggle a").toggle();
});

Открывается и сразу закрывается
$("a").not("a#open").click(function(){
      $("div#panel").slideUp("slow");
      $("#toggle a").toggle();
});

Нормально открывается, но при попытке подставить еще условия отрывается и закрывается либо вообще не открывается.
Как правильно составить код? Заранее спасибо за ответы
Ответить с цитированием