Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2012, 17: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();
});

Нормально открывается, но при попытке подставить еще условия отрывается и закрывается либо вообще не открывается.
Как правильно составить код? Заранее спасибо за ответы
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2012, 18:06
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

используйте события focus /blur
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2012, 19:12
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

Не работает. Где косяк?
$("#toppanel").blur(function(){
	$("div#panel").slideUp("slow");
	$("#toggle a").toggle();
});
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2012, 19:27
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

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

всмысле? это то мне зачем?
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2012, 19:37
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

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

Спасибо, работает) Только вот рамка появилась при фокусе
Ответить с цитированием
  #8 (permalink)  
Старый 08.09.2012, 19:53
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

outline-style: none
Ответить с цитированием
  #9 (permalink)  
Старый 08.09.2012, 19:55
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

Рамку убрал, но сейчас если клавишей tab перемещаться по элементам кнопка "открыть" меняется на "закрыть"
Ответить с цитированием
  #10 (permalink)  
Старый 08.09.2012, 20:00
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

есть такая штука, поставьте tabindex = -1
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с панелью вкладок в окне Eugent ExtJS 0 27.07.2012 15:19
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47