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

1. Дмитрий (14.04.2011 / 22:42)
Есть трабла.
Функция 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 - скорость анимации при открытии/закрытии элемента.

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

2. Богдан (15.04.2011 / 00:38)
Функция 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()


3. Дмитрий (15.04.2011 / 03:55)
2. G_A_N_J_A_R, hide() скрывает элемент окончательно, без возможности открыть его.

4. Tony V (15.04.2011 / 09:00)
4, не верю

5. Богдан (15.04.2011 / 10:17)
3. Для того что б его открыть используем show(); или css('display', 'block') . Я ж написал уже готовый код.

6. Дмитрий (15.04.2011 / 16:03)
5. G_A_N_J_A_R, да я примерно такую конструкцию тоже соорудил. Не работает.
Точнее, конструкция работает, но вот какая трабла:
я в выезжающем блоке прячу форму добавления сообщения с быстрыми смайлами. Вот как раз при щелчке по смайлу, смайл добавляется в форму, но блок сразу же скрывается.
Пришел к мнению, что это происходит скорее всего из-за потери фокуса.
Скрипт быстрых смайлов использую моторовский.

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

7. ramzes (15.04.2011 / 16:32)
6. Павел Дуров, дома буду, скину функцию, фокус не теряется уже

8. Богдан (15.04.2011 / 17:15)
6.После вставки кода смайла возвращаем фокус
$('textarea').focus();

9. Дмитрий (15.04.2011 / 18:57)
Так. Теперь все кошерно работает E
Интересно, есть возможность изменить направление анимации? Не очень устраивает горизонтальная анимация (выезжает слева направа, заезжает обратно справа налево). Хотелось бы вертикально...

10. Дмитрий (15.04.2011 / 19:18)
Заметил еще небольшой бок:
Ссылка , актитирующая скрытый элемент находится у меня в блоке "#p_info"
Сам активный элемент находится сразу под ним в блоке "#div_info"
Сразу под этими блоками у меня выводится совершенно другой блок, не имеющий к данным никакого отношения - "#div_post"

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

Как быть? Сталкивались с этим?

11. Богдан (15.04.2011 / 22:35)
10. Есть пример того где ты уже заменил на jQuery? на угад не скажешь, а тестировать самому не охота.

12. Дмитрий (15.04.2011 / 22:45)
Сейчас создам поддомен и залью на поддомен. В принципе, в приват я скидывал тебе. Там на Mootools. Я пытаюсь добиться того же на jquery.

URL: https://visavi.net/topics/20713