Имеются кнопки. Имеются переменные, каждая из которых соответсвует каждой кнопке - она принимает значение true при нажатии, остальные принимают false.
Для каждого события писать то, что там уже есть слишком громоздско, тем более в оригинале кнопок больше, чем 3. Для автоматизации этого пришло на ум ввести каждой кноке по data-*, совпадающей с именем переменной. А вот как технически найти "близнец" среди переменной, и установить ему true (например one и one ), ПРИ ЭТОМ остальным (в данном случе two и three) присвоить false (если до нажатия 1 были другие нажатия)(возможно, для второго надо заводить массив переменных)
Если с data-* идея плохая, готова к другим вариантам https://jsfiddle.net/Nata_Hamster/tbL77s59/ Заранее спасибо
$('#btn-1').click(function() {
var name = this.dataset.name;
});
var data = {
one: false,
two: false,
three: false
};
console.log(data);
$('.buttons').click(function() {
for (var key in data) {
data[key] = false;
}
data[this.dataset.name] = true;
console.log(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="buttons" style="display:inline;" data-name="one">1</button>
<button class="buttons" style="display:inline;" data-name="two">2</button>
<button class="buttons" style="display:inline;" data-name="three">3</button>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как передать в callback delay ? Так не работает
Как можно двигать блок div(box) с помощью клавиш вверх, вниз, право, влево с использованием js(keyCode)?