Олег Б.
292 сообщения
#15 лет назад
Думал, думал, так и не придумал, как такое сделать:
Есть такой html код:

<a href="" id="js_nav">Я ссылко</a>
<div id="content">Контент</div>

Данный код распологается на стрнице внутри еще множества блоков.
Есть jquery код, который этот блок открывает. А теперь собственно вопрос, как сделать так, что бы при клике в любую точку сайта, этот блок скрывался, но если кликнуть на сам content_block он не скрывался?
Руслан Савенок
530 сообщений
#15 лет назад
Слой body лежит под слоем content_block, следовательно если сделать 2 функции клика: на боди то прятать а при клике на контент raturn false или просто show()

Вот еще туториал о создании всплывающего блока, там реализовано немного по другому
Олег Б.
292 сообщения
#15 лет назад
Спасибо, на счет боди так и сделал, а вот о return false не подумал
Антон Е.
279 сообщений
#15 лет назад
Если мне не изменяет память,в некоторых браузерах клик на content_block вызовет return false и события всех блоков в которых он расположен в нашем случае и функицию скрывания...
Олег Б.
292 сообщения
#15 лет назад
Не очень вас понял, но например:

$('body').click(function()
{
$('#content_block').hide('slow');
});


срабатывает так, что и при клике на content_block, он скрывается, а мне этого не нужно..
вариант zombieman`а как раз помогает
вообще, тут конечно много решений модно придумать
Руслан Савенок
530 сообщений
#15 лет назад
Вы опишите задачу и мб предложу лучше вариант =)
Олег Б.
292 сообщения
#15 лет назад
Да собственно, оптимальный вариант я думаю именно такой: при клике по body скрывать content_block, но если кликается по именно content_block он не скрывается, возвращая return_false.
в итоге нужно именно, что бы при клике по бади открытый блок скрывался, но при этом если кликаем именно по нему, то ничего не скрывается.
Руслан Савенок
530 сообщений
#15 лет назад
Как я понимаю вам нужно всплывающее окно?

Интересный феномен в том, что если к примеру в body засунуть блок который шириной и высотой будет 100%, а в него уже сайт, то при клике только на видимую часть этого блока будет срабатывать click А вот с body, куда не кликни)
Олег Б.
292 сообщения
#15 лет назад
Итак: имеется всплывающее окно, имеется код, который его открывает и закрывается по крестику. Дабы сделать его более удобный хочется сделать следующее:
при клике по любой части сайта, кроме окошка - окно скрывается.
при клике по самому окошку ничего не происходит.
Руслан Савенок
530 сообщений
#15 лет назад
Цитата ("bel0v"):
Итак: имеется всплывающее окно, имеется код, который его открывает и закрывается по крестику. Дабы сделать его более удобный хочется сделать следующее:
при клике по любой части сайта, кроме окошка - окно скрывается.
при клике по самому окошку ничего не происходит.

Не придумывайте колесе по новой! Вот простейшее решение даже если английского не знаете там jquery код и без комментариев понятен
Олег Б.
292 сообщения
#15 лет назад
Угу, уже глянул. Тоже вариант решения, оптимизированный так сказать
Я просто jquery тыкаю так сказать, все-равно полезно иногда изобрести что-то свое )