Так что я пытаюсь активировать несколько огней при нажатии кнопки, и я не уверен, что я здесь делаю неправильно.Новое в javascript, пытаясь понять это
Я думал, что смогу сделать это в функции, а затем передать ему имя, но похоже, что это не действует так, как я хочу.
HTML
<div class="lights">
<div id="red"></div>
<div id="yellow"></div>
<div id="green"></div>
</div>
<div class="button">
<button id="red_button"> Red Button </button>
<button id="yellow_button">Yellow Button </button>
<button id="green_button">Green Button </button>
</div>
CSS
.lights{
height: 600px;
width: 200px;
background-color: black;
padding-top: 15px;
}
.button{
padding-top: 20px;
}
#red,
#yellow,
#green {
margin: 0 auto;
background-color: black;
border-radius: 50%;
width: 180px;
height: 180px;
margin-top: 10px;
}
#red.active {
background-color: red;
}
#yellow.active {
background-color: yellow;
}
#green.active {
background-color: green;
}
JQuery
function click(e) {
$('#red,#yellow,#green').removeClass('active');
$('e').addClass('active');
}
$('#red_button').click(click('#red'));
$('#yellow_button').click(click('#yellow'));
$('#green_button').click(click('#green'));
http://jsfiddle.net/0m9wos1r/1/
Вы добавляете класс к элементу с тегом 'e', который кажется ... неправильным ... и когда вы вызываете функцию с переданным параметром, вам нужно обернуть ее в анонимная функция. – PlantTheIdea
Это помогло бы, если бы вы более четко описали то, что вы пытаетесь выполнить. Это не совсем очевидно из вашего кода. – isherwood
вы передаете переменную e, но добавляете класс в строку 'e' вместо (e) .addClass - хотя здесь может быть и больше ошибок. –