Аватар для cevil
12 / 12 / 5
Регистрация: 07.04.2014
Сообщений: 174

Скрыть блок по клику вне его

13.08.2015, 16:53. Показов 2146. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени!
Скрипты не моя стихия, но пришлось ковыряться в коде чужом подскажите как сделать след
есть менюшные кнопки кликая на которые выпадает подменю. необходимо закрывать подменю по клику вне его области
вот код
HTML5
1
2
3
4
5
6
7
8
9
<a class="for-home"   onclick="toggle('#vipad-1');">Для дома </a>
<a class="for-biz"   onclick="toggle('#vipad-2');">Для офиса</a>
 
 <div id="vipad-1"> <!-- подменю 1-->
              bla la bla          
 </div>
<div id="vipad-2"> <!-- подменю 2-->
              bla la bla1             
 </div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(function() {
    $("div[id*='vipad-']").hide();    
})();
function toggle(objName) {
    var obj = $(objName),
        blocks = $("div[id*='vipad-']");
    
    if (obj.css("display") != "none") {
        obj.animate({ height: 'hide' }, 500);
    } else {
        var visibleBlocks = $("div[id*='vipad-']:visible");
 
        if (visibleBlocks.length < 1) {
            obj.animate({ height: 'show' }, 500);
        } else {
            $(visibleBlocks).animate({ height: 'hide' }, 500, function() {
                obj.animate({ height: 'show' }, 500);
            });            
        }
        
    }
 
}
Добавлено через 45 минут
и еще в чем причина может быть, что при открытии подменю скачок в начало страницы происходит на том же месте не открывается
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.08.2015, 16:53
Ответы с готовыми решениями:

Скрыть элемент по клику вне его
Необходимо скрыть div по клику вне его, нашел неплохой пример jQuery(function($){ $(document).mouseup(function (e){ // событие клика...

Показать/скрыть меню при клике вне его области
&lt;button type=&quot;button&quot; id=&quot;toggle&quot;&gt;Меню&lt;/button&gt; &lt;ul class=&quot;nav&quot; id=&quot;nav&quot;&gt; &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Home&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a...

Как скрыть выпадающий блок меню по клику вне его области
Выручайте! Нужно скрыть выпадающий блок с id=&quot;hidden_12&quot; по клику вне его области. Как это можно реализовать? &lt;div...

5
16 / 16 / 13
Регистрация: 06.08.2015
Сообщений: 61
14.08.2015, 11:00
ну так прицепите событие клик на детей тушки.
0
 Аватар для cevil
12 / 12 / 5
Регистрация: 07.04.2014
Сообщений: 174
14.08.2015, 22:59  [ТС]
не понятно каких детей? )
0
16 / 16 / 13
Регистрация: 06.08.2015
Сообщений: 61
15.08.2015, 02:03
JavaScript
1
$(body *).click
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
15.08.2015, 02:55
cevil, убираем onclick из html, добавляем атрибут data-*, в котором будем хранить id связанных блоков. На ваше усмотрение, рекомендую дать одинаковые классы для элементов <a> и отдельно одинаковые классы для связанный раскрывающихся элементов. Пример в песочнице
HTML5
1
2
3
4
5
6
7
8
9
<a class="toggle-button for-home" data-toggle="#vipad-1">Для дома </a>
<a class="toggle-button for-biz" data-toggle="#vipad-2">Для офиса</a>
 
<div id="vipad-1" class="toggle-target"><!-- подменю 1-->
    bla la bla
</div>
<div id="vipad-2" class="toggle-target"><!-- подменю 2-->
    bla la bla1
</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(function () {
    var but = $('.toggle-button'),
        blocks = $('.toggle-target').hide();
    $(document).on('click', function (e) {
        var $that = $(e.target);
        if ($that.is(but)) {
            e.preventDefault();
            var cur = blocks.filter($that.data('toggle'));
            blocks.not(cur).slideUp(500, function () {
                cur.slideToggle(500);
            });
        } else {
            blocks.slideUp();
        }
    });
});
2
 Аватар для cevil
12 / 12 / 5
Регистрация: 07.04.2014
Сообщений: 174
18.08.2015, 19:35  [ТС]
То что надо, благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.08.2015, 19:35
Помогаю со студенческими работами здесь

Как скрыть блок div по клику вне самого блока?
Всем привет! Нашёл вот такой код: document.onclick = function(ev) { myDiv = document.getElementById('myDivId'); if...

Скрытие списка по клику вне его области
Здравствуйте. Подскажите, как реализовать скрытие появляющего списка при клике вне его области. Сейчас скрытие всплывающего списка...

Закрытие окна по нажатию кнопки или клику вне его
Всем доброго времени суток. Несколько дней мучаюсь не могу придумать как реализовать. Есть окно в котором кнопка, при нажатии на которую...

Скрыть меню при клике вне его области
Здравствуйте, имеется меню которое появляется по клику на кнопке. Я хочу сделать, чтобы по клику извне оно скрывалось. Гуглил, но не нашёл...

Скрыть блок при клике за его пределами
Вот скрипт: var base = { findClass: function(str, node) { if(document.getElementsByClassName) return (node ||...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru