Показать сообщение отдельно
  #64 (permalink)  
Старый 17.09.2012, 13:34
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от zevilz Посмотреть сообщение
Принцип понял, но не понял как сделать. Переделал свой скрипт:
$(document).ready(function() {

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

      // Сворачиваем панель при снятии фокуса с #toppanel
  $("#toppanel").blur(function(){
    $("*").not("#panel input").focus(function(){
      $("div#panel").slideUp("slow");
      $("#toggle a").toggle();
    });
  });

      // Сворачиваем панель при снятии фокуса с input
  $("#toppanel input").blur(function(){
    $("*").not("#panel input").focus(function(){
      $("div#panel").slideUp("slow");
      $("#toggle a").toggle();
    });
  });

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

});

Сдесь добавил следующее:
1.При снятии фокуса с панели панель сворачивается. Но только если фокус получает не input на этой панели. На панели 4 инпута: для логина, пароля, чекбокс и submit.
2. При снятии фокуса с любого инпута панель сворачивается. Но если фокус получает не другой инпут на этой панели.

При снятии фокуса с панели она закрывается нормально, кнопка закрытия меняет свое содержимое. Но при повторном открытии при первом и втором клике выполняется только $("#toggle a").toggle();. И только при третьем клике панель открывается. То же самое происходит и при снятии фокуса с инпутов. И заметил еще косяк: если после фокуса на инпутах кликнуть на чекбокс, то панель закроется, а если наоборот, то панель не закроется.

Может кто вкурсе, почему происходит такая хрень и как исправить?
этот код поломается, если на панель добавить textarea или кнопку button и вы его забудете добавить...
Короче решение хреновое плохое
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием