Как объединить два условия?
Привет всем!
Собственно, вопрос в заголовке. Я немного в затупке)) Написал скрипт для двух кнопок, но не могу объединить выполнение обоих условий. Код ниже:
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,
:-? |
рони, нет идей? (
или настолько просто, что лень писать?)) |
madeas,
я не осилил ваш код, не могу помочь, жду гуру-телепата. |
madeas,
А можно макетик html? И что значит - выполнение обоих условий? В каком состоянии кнопки a и b? |
По идее, должно быть что-то подобное:
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');
// }
результат |
madeas,
может опишите что хотите сделать словами? |
если сводить к результату, то нужно сочетанием: клика по кнопке А и нажатия клавиши Б добавить класс кнопке С
|
Цитата:
Совсем не понял это Цитата:
Или это не клавиша, а тоже кнопка? |
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) |
Цитата:
https://codepen.io/andrejsharapov/pen/pmdNKW к сожалению collab mode только для про ( функция в самом низу |
madeas,
var a = $(".fn"),b = $("#w"), afoo, bfoo;
a.click(function() {
afoo = a.toggleClass("green active").is(".green");
fn()
})
;
$(window).keydown(function(evt) {
if (evt.which == 87) {
bfoo = b.toggleClass("green active").is(".green");
}
fn()
});
function fn()
{
if((afoo === true) && (bfoo === true)) {
// k.toogleClass( 'green');
}
}
|
<style>
.green { background-color:green; }
.active { border:1px solid red;}
</style>
<button class="fn" >A</button>
<button id="w">B</button>
<button class="key">C</button>
<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<script>
var a = $(".fn"),
b = $("#w"),
k = $(".key");
a.click(function() {
a.toggleClass("green active");
testStatus();
});
b.click(function() {
b.toggleClass("green active");
testStatus();
});
function testStatus() {
if (a.hasClass('active') && b.hasClass('active')) {
k.addClass('green');
} else { k.removeClass('green'); }
}
</script>
|
спасибо. немного подправил, сработало
|
| Часовой пояс GMT +3, время: 01:31. |