Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 2

Отключение функции, если сработала другая

24.12.2017, 23:17. Показов 6359. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Проблема такая. Есть две функции, как правильно создать условие, в котором если функция1 сработала, то функция два отключается?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2017, 23:17
Ответы с готовыми решениями:

Если пусто - одна формула, если есть значение - другая формула
Добрый вечер Прошу помощи с формулой - например если в ячейке А1 есть число, то в формуле В3 срабатывает одна формула, если в ячейке...

Вычислить формулу, если заполнена другая ячейка
Здраствуйте. Просидел 3часа в инете не нашел ответа на свой вопрос, потому как не могу наверно понять, как называется, то что я ищу. В...

Залить цветом ячейку если другая содержит текст
Помогите с такой проблемой. Необходимо чтоб выполнялось такое условие "если одна ячейка содержит "текст"(Если конкретоно то...

4
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
25.12.2017, 08:22
Вам надо где-то хранить состояние, чтобы ваша вторая функция могла узнать выполнилась первая или нет.

Например
HTML5
1
2
3
4
<button id="btn1">One</button>
<button id="btn2">Two</button>
<br>
<button id="btn-reset">Reset</button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var app = app || {};
app.state = false;
 
function one() {
  app.state = true;
  alert('Foo');
}
 
function two() {
  if (app.state) return;
 
  alert('Bar');
}
 
function reset() {
  app.state = false;
}
 
document.querySelector('#btn1').addEventListener('click', one);
document.querySelector('#btn2').addEventListener('click', two);
document.querySelector('#btn-reset').addEventListener('click', reset);
https://jsfiddle.net/2m616f07/
1
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 2
25.12.2017, 20:01  [ТС]
может я не совсем корректно описал вопрос. Опишу поподробнее. У меня есть кнопка меню, при нажатии на эту кнопку срабатывает функция, с помощью которой выплывает и заплывает само меню.

JavaScript
1
2
3
function onClickMenu() {
        $('#clickMenu').slideToggle('slow');
    };
а также, есть еще одна функция, которая при клике по любому месту сайта, будет скрывать меню, если оно открыто:

JavaScript
1
2
3
4
5
6
$(document).mouseup(function closeMenu() {
    var container = $("#clickMenu");
    if (container.has(closeMenu.target).length === 0){
        container.slideUp('slow');
    }
});
функции рабочие, НО получается если меню открыто и я нажимаю опять на кнопку, то срабатывает функция вторая (закрывает меню), а за ней срабатывает и первая (открывает его) и получается, если я жму на кнопку, меню скрывается и сразу открывается. поэтому я пытаюсь отключить вторую функцию, если срабатывает первая. может есть и другое решение. То есть если клик идет именно по кнопке, то вторая функция не будет работать.
0
 Аватар для atanov
640 / 481 / 172
Регистрация: 26.05.2016
Сообщений: 2,674
26.12.2017, 07:33
А если поставить switch по id элемента и его потом ветвись в case?
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
26.12.2017, 08:18
Семен Нырков, вам всё равно где-то надо хранить состояние своего меню - в данном случае, например, можно переключать класс active. И при клике на document находить все элементы #clickMenu.active и сворачивать их. Вешая обработчик клика на весь документ не забудьте запретить всплытие события клика на элементах, которые не должны закрывать меню.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<ul>
  <li>
    <button class="click-menu" data-target="#menu1">
      Menu
    </button>
    <div class="dropdown-menu" id="menu1">
      <ul>
        <li>Link 1</li>
        <li>Link 2</li>
        <li>Link 3</li>
      </ul>
    </div>
  </li>
  <li>
    <button class="click-menu" data-target="#menu2">
      Menu 2
    </button>
    <div class="dropdown-menu" id="menu2">
      <ul>
        <li>Link 1</li>
        <li>Link 2</li>
        <li>Link 3</li>
      </ul>
    </div>
  </li>
</ul>
CSS
1
2
3
4
.dropdown-menu {
  display: none;
  border: 1px solid black;
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$('.click-menu').on('click', function(e) {
  e.stopPropagation();
 
  $(this.dataset.target)
    .slideToggle('slow')
    .toggleClass('active');
});
 
$('.dropdown-menu').on('click', function(e) {
  e.stopPropagation();
});
 
$(document).on('click', function() {
  $('.dropdown-menu.active')
    .slideUp('slow')
    .removeClass('active');
});
https://jsfiddle.net/u4u20ob6/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2017, 08:18
Помогаю со студенческими работами здесь

Как запретить работу в одной форме если открыта другая?
Подскажите, пожалуйста, как запретить работу в одной форме если открыта другая?

Массив имен (А-Я), необходимо выполнить действие если пошла другая буква
Доброго всем! Ребята, столкнулся с такой задачкой и моих знаний пока не хватает... Есть массив имён вида: (Андрей, Алина, Борис,...

Вызов функции из процедуры в которой вызывается другая функция
Доброго времени суток! Есть 2 самописные функции: Function StringsChoose(i : integer): string; Function...

если .click один - одна функция, .click еще раз и другая
как сделать чтоб она проверило .click первый и если он выполнен, то уже при втором клике, выполнялась другая функция Добавлено через...

CreateProcess, не запускается с ярлыка, если рабочая папка в ярлыке не указана или указана другая
подскажите, кто знает начинающему программисту. вот написал такой код для загрузчика другой программы char* startDIR = new char; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru