Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Закрытия блока (https://javascript.ru/forum/jquery/24580-zakrytiya-bloka.html)

Beriagts 06.01.2012 16:45

Закрытия блока
 
Как сделать что-бы при клике на $('html') скрывался блок .boxlen но при клике в боксе .boxlen он не пропадал и та можно было делать клик по линкам.
$('html').click(function(){
		$('.boxlen ').fadeOut();
	});
$('.boxlen').click(function(){return false}) // данный код не скрывает бокс но не дает кликать по сылкам

zebra 06.01.2012 16:50

При клике по 'html' проверьте элемент с помощью hasClass('boxlen')

Beriagts 06.01.2012 17:04

Цитата:

Сообщение от zebra (Сообщение 148373)
При клике по 'html' проверьте элемент с помощью hasClass('boxlen')

Если я правильно понял
$('html').click(function(){
      if($('html').hasClass(boxlen ).length)
       {
        $('.boxlen ').fadeOut();
        }
    });

То это не меняет данную проблему про клики в боксе boxlen .

zebra 06.01.2012 17:08

Не угадали.
$('html').click(function(){
            if($(this).hasClass('boxlen')) {
                   return false;
            }
            $('.boxlen ').fadeOut();
});

zebra 06.01.2012 17:12

Вру.
$('html').click(function(e){
            if($(e.target).hasClass('boxlen')) {
                   return false;
            }
            $('.boxlen ').fadeOut();
});

Beriagts 06.01.2012 17:20

Не много не верно, блок .boxlen всегда существует то есть данная проверка бессмысленная всегда будет возвращать true, следовательно блок некогда не скроется.

zebra 06.01.2012 17:23

.boxlen - Это класс, или div?

Beriagts 06.01.2012 17:26

Цитата:

Сообщение от zebra (Сообщение 148388)
.boxlen - Это класс, или div?

<div class="boxlen"></div>

zebra 06.01.2012 17:29

Тогда всё должно работать

Beriagts 06.01.2012 17:43

ага у меня просто бьет ошибку "ReferenceError: e is not defined"


Часовой пояс GMT +3, время: 05:33.