#javascript #button
#javascript #кнопка
Вопрос:
я создал кнопки, и когда вы нажимаете на них, они меняются с зеленого на красный на желтый, теперь я хочу добавить, что когда вы нажимаете на кнопку после того, как ее цвет желтый, кнопка больше не отображается.
я пытался сделать это с:
if (color[change > 2]){
button.style.display = "none";
}
но это, похоже, не work..is есть ли способ добавить это в функцию, не изменяя слишком много кода?
var color = [«зеленый», «красный», «желтый»];
function page() {
document.body.style.backgroundColor = "purple";
//style page
createButtons(10);
}
page();
function onbuttonclicked(a) {
var Amount = document.getElementById("button" a);
var click = Amount.getAttribute('Color');
var change = color.indexOf(click);
Amount.setAttribute('style', 'background-color:' color[change 1]);
Amount.setAttribute('Color', color[change 1]);
if (color[change > 2]){
button.style.display = "none";
}
}
function set_onclick(amount) {
for (var a = 1; a < (amount 1); a ) {
document.getElementById("button" a).setAttribute("onclick", "onbuttonclicked(" a ")");
}
}
function createButtons(amount) {
for (var a = 1; a <(amount 1); a ) {
var button = document.createElement("button");
button.id = "button" a;
button.innerHTML = "button " a;
button.setAttribute('Color', color[0]);
button.setAttribute('style', 'background-color:' color[0]);
container.appendChild(button);
}
set_onclick(amount);
}
Ответ №1:
let count = -1;
let color = ["green", "red", "yellow"];
document.querySelector('button').addEventListener('click', function() {
if (color[ count]) {
this.style.backgroundColor = color[count];
} else {
this.style.display = 'none';
}
});
<button type="button">Click me</button>
Комментарии:
1. есть ли разница между var en let ?
2. @desit900 замените их, поскольку var в порядке. var — это старый способ fassion. в то время как let является стандартом ES6.
3. Есть ли также способ создать if / else в моей функции «onbuttonclicked (a)» и заставить ее скрыть кнопку таким образом?
Ответ №2:
вы можете объявить переменную, которая увеличивается при каждом нажатии кнопки, а затем, когда переменная достигает определенного значения, вы можете удалить кнопку
var count=0;
function onButtonClick(){
/your code here
if(count>2){
/delete button
}
count ;
}