Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2019, 13:32
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Как объединить два условия?
Привет всем!

Собственно, вопрос в заголовке. Я немного в затупке)) Написал скрипт для двух кнопок, но не могу объединить выполнение обоих условий.

Код ниже:

function combo() {
  const a = $(".fn"),
    b = $("#w");

  if (
    a.click(function() {
      a.toggleClass("green active");
    })
  );

  if (
    b.click(function() {
      b.toggleClass("green active");
    })
  );

  $(window).keydown(function(evt) {
    if (evt.which == 87) {
      b.toggleClass("green active");
    }
  });
}
combo();


Подскажите, как объединить, чтобы при выполнении обоих условий срабатывало третье:
$('.key').toggleClass('green');


Предполагаю, что оба условия проще обернуть в две функции и потом другой выводить через if... = true, но нужны ваши мысли на этот счет.
Заранее спасибо.

Последний раз редактировалось madeas, 24.05.2019 в 14:13.
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2019, 13:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

madeas,
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2019, 14:14
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

рони, нет идей? (
или настолько просто, что лень писать?))
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2019, 14:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

madeas,
я не осилил ваш код, не могу помочь, жду гуру-телепата.
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2019, 14:46
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

madeas,
А можно макетик html?
И что значит - выполнение обоих условий?
В каком состоянии кнопки a и b?
Ответить с цитированием
  #6 (permalink)  
Старый 24.05.2019, 14:49
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

По идее, должно быть что-то подобное:
function combo() {
  const 
    a = $(".fn"),
    b = $("#w"),
    k = $(".key");

  $(function afoo() {
    if (
      a.click(function() {
        a.toggleClass("green active");
      })
    );
  });

  $(function bfoo() {
    if (
      b.click(function() {
        b.toggleClass("green active");
      })
    );

    $(window).keydown(function(evt) {
      if (evt.which == 87) {
        b.toggleClass("green active");
      }
    });
  });
  
  // if((afoo === true) & (bfoo === true)) {
  //   k.toogleClass( 'green');
  // }
}
combo();


где,
// if((afoo === true) & (bfoo === true)) {
  //   k.toogleClass( 'green');
  // }

результат
Ответить с цитированием
  #7 (permalink)  
Старый 24.05.2019, 14:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

madeas,
может опишите что хотите сделать словами?
Ответить с цитированием
  #8 (permalink)  
Старый 24.05.2019, 14:55
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

если сводить к результату, то нужно сочетанием: клика по кнопке А и нажатия клавиши Б добавить класс кнопке С
Ответить с цитированием
  #9 (permalink)  
Старый 24.05.2019, 15:08
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от madeas
клика по кнопке А
Клики по кнопке A бывают разные: они могут подключать или отключать классы green active

Совсем не понял это
Сообщение от madeas
нажатия клавиши Б
b = $("#w")

Или это не клавиша, а тоже кнопка?
Ответить с цитированием
  #10 (permalink)  
Старый 24.05.2019, 15:10
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Dilettante_Pro,

a = $(".fn")
a.click(function() {
        a.toggleClass("green active");
})


b = $("#w");
$(window).keydown(function(evt) {
      if (evt.which == 87) {
        b.toggleClass("green active");
    }
});

это кнопки, но активируются 1 кликом мыши, 2 клавишей `W` с клавиатуры (код 87)

Последний раз редактировалось madeas, 24.05.2019 в 15:15.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как совместить два цикла each и for? kuchuluk Общие вопросы Javascript 8 25.10.2018 12:03
Как повесить два действия на кнопку? svinin_1989 Events/DOM/Window 18 17.10.2016 08:05
А как сделать , чтоб при выполнении условия сохранялись данные о времени его выполнен Валерий1996 Общие вопросы Javascript 4 27.08.2015 15:51
Как отработать два события за один раз. andreydial Общие вопросы Javascript 10 08.12.2014 23:14
Как таймер заставить работать поочерёдно вызываю одну и ту же функцию два раза? JavaScriptProgrammer Events/DOM/Window 12 08.11.2012 23:41