jQuery. Запрет закрытия окна по щелчку

Печать RSS
454

Автор
Голубые штаны
0
Есть трабла.
Функция jQuery toggle() - открывает/закрывает блочные элементы. То что мне нужно. НО при щелчке рядом с открытым элементом он автоматически закрывается. Как это побороть?
Я использую так:
	<script language="javascript" type="text/javascript">
	$(document).ready(function ()
	{
        $("#example_j a").click(function()
		{
            $("#example_j p").toggle(600);
            return false
        });
    });
	</script>
где 600 - скорость анимации при открытии/закрытии элемента.

Еще одна трабла - по умолчанию элемент открыт, мне надо чтобы он был закрыт по умолчанию. А открывался - по требованию.
Б

Оранжевые штаны
0
Функция toggle() переключает отображение каждого набора подходящих элементов.
Если я тебя правильно понял то тебе нужен примерно такой код:
$(document).ready(function ()
{
    $("#example_j a").click(function()
    {
        if($("#example_j p").is(':hi dden')){
            $("#example_j p").show();
        }else{
            $("#example_j p").hide();
        }
    });
});
А что б был скрыт изначально пишешь либо елементе style="displayno ne" либо в ЖС добавляешь
$("#example_j p").hide()
Изменил: Богдан (15.04.2011 / 00:47)
Автор
Голубые штаны
0
2. G_A_N_J_A_R, hide() скрывает элемент окончательно, без возможности открыть его.

Транклюкаторщик
0
4, не верю
Б

Оранжевые штаны
0
3. Для того что б его открыть используем show(); или css('display', 'block') . Я ж написал уже готовый код.
Автор
Голубые штаны
0
5. G_A_N_J_A_R, да я примерно такую конструкцию тоже соорудил. Не работает.
Точнее, конструкция работает, но вот какая трабла:
я в выезжающем блоке прячу форму добавления сообщения с быстрыми смайлами. Вот как раз при щелчке по смайлу, смайл добавляется в форму, но блок сразу же скрывается.
Пришел к мнению, что это происходит скорее всего из-за потери фокуса.
Скрипт быстрых смайлов использую моторовский.

Помню, Рамзес поднимал такую тему на форуме по поводу потери фокуса....
Как сделать чтобы при щелчке по смайлу каретка оставалась в фокусе TEXTAREA?

2000 лет д.н.э.
0
6. Павел Дуров, дома буду, скину функцию, фокус не теряется уже
Б

Оранжевые штаны
0
6.После вставки кода смайла возвращаем фокус
$('textarea').focus();
Автор
Голубые штаны
0
Так. Теперь все кошерно работает E
Интересно, есть возможность изменить направление анимации? Не очень устраивает горизонтальная анимация (выезжает слева направа, заезжает обратно справа налево). Хотелось бы вертикально...
Автор
Голубые штаны
0
Заметил еще небольшой бок:
Ссылка , актитирующая скрытый элемент находится у меня в блоке "#p_info"
Сам активный элемент находится сразу под ним в блоке "#div_info"
Сразу под этими блоками у меня выводится совершенно другой блок, не имеющий к данным никакого отношения - "#div_post"

Так вот, когда я нажимаю на ссылку чтобы скрыть активный элемент "#div_info", он как положено прячется (сворачивается), но блок "#div_post", не имеющий к нему никакого отношения как бы "прилипает" к блоку "#p_info" и отлипает (становится на место) только если кликнуть мышкой в любом месте страницы. Я это поборол скоростью анимации при сворачивании - сделал 1200 милисекунд, но такая медленная скорость меня не устраивает.

Как быть? Сталкивались с этим?
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск