Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.05.2013, 16:37
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

ошибка в реализации
Добрый день, уважаемые пользователи форума.
Подскажите пожалуйста, что я делаю не так.
Есть ссылка, при нажатии появляется соседний блок, при нажатии опять на ссылку или вне появившегося блока он должен прятаться, ну все как обычно. Только прячется он почему то, только при повторном нажатии на ссылку.
Листинг:
$(document).ready(function(){

var button = $('#logina');
        var box = $('#container');
        var form = $('#loginForm');
button.removeAttr('href');
$("a#logina").click(function (login) {
   box.toggle();
                box.addClass("act-box");
                button.addClass('active');
        
});
        form.click(function() { 
                return false;
        });
//вот тут что то не так. условие, типа нажатие вне области блока формы, то закрытие. 
        $(this).click(function(login) {
                if(!($(login.target).parent('#logina').length > 0)) {
                        button.removeClass('active');
                        box.toogle();
                        box.removeClass("act-box");
                }
        });
});


И сама шатамэлочка:

<a href="#" id="logina">login</a>
  <div id="container">
<form id="loginForm">
<h2>hellow, world</h2>
</form>
  </div>


p.s. убираем атрибут href ибо если js работает в браузере то пусть открывает форму, если нет, как обычная ссылка на другую стр.
Подскажите пожалуйста, что делаю не так? >.<
Ответить с цитированием
  #2 (permalink)  
Старый 02.05.2013, 19:28
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

RodgerFox, может потому что вы не обрабатывает клик в не блока?)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #3 (permalink)  
Старый 02.05.2013, 22:20
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

Простите, не понял. там в 17 строчке, я как бы обращаюсь к функции логин, а дальше проверка в ней был клик или нет, если нет то исп toogle();
Ответить с цитированием
  #4 (permalink)  
Старый 02.05.2013, 22:49
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

RodgerFox, сори не увидел что this ,в данном случае это документ, мне привычней чистый js, щас глянем)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #5 (permalink)  
Старый 02.05.2013, 22:57
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

RodgerFox,
я конечно не особо шарю в jquery но метод вроде toggle а не toоgle
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #6 (permalink)  
Старый 04.05.2013, 13:15
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

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

сделал пример на чистом js
<!DOCTYPE HTML>
<html>
  <head>
    <style>
      .open {
          display:block;
        
        }
        
        
        .close{
       
            display:none;
          
          }
    
    </style>
    
  </head>
  <body>
<a href="#" id="login">login</a>
  <div id="container">
<form id="loginForm">
<h2>hellow, world</h2>
</form>
  </div>
    <script>

      function $(selector){//используеться что бы не писать document.getElement...
      
      return document.querySelector(selector);
      
      }  
    
      
      !function () {
      
      
      
        var cont = $("#container");
        cont.className = "open";
        
        
        document.body.onclick = function (e) {
        
        
          var target = event.srcElement||e.target  ;
        
          
          if(target.id == "login"){
          
            ChangeStateContainer();
          
            return false;
          }
          
          
          cont.className = "close";
        };
      
      
        function ChangeStateContainer()
        {
        
          if(cont.className == "open"){
        
            cont.className = "close";
          }
          
          else cont.className = "open";
        
        }
      
      }();


    </script>

  </body>
</html>
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #8 (permalink)  
Старый 04.05.2013, 22:11
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

$(this).click(function(login) {
		if(!($(login.target).closest("#logina").length)) {
			button.removeClass('active');
			box.toogle();
			box.removeClass("act-box");
		};
	});
__________________
★ ²º¹³ ☆
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в функции djonA Javascript под браузер 3 07.03.2013 15:15
firebug пишет ошибка invalid range in character class Dim@ Общие вопросы Javascript 5 10.05.2012 16:52
Вопрос по реализации формы в простейшем модальном окне battrack jQuery 2 22.04.2012 13:46
То-ли лыжи не едут, толи... возможно ошибка в коде. AzriMan Общие вопросы Javascript 19 18.05.2009 16:07
IE: неизвестная ошибка выполнения _Kpot_ Internet Explorer 1 03.04.2008 11:00