#javascript #css #button
#javascript #css #кнопка
Вопрос:
У меня есть кнопка, как показано ниже, и я хочу, чтобы она находилась в режиме «наведения» и «фокусировки» по умолчанию — по умолчанию игра запускается на «easy», и поэтому я хочу, чтобы кнопка была «нажата» по умолчанию, чего я могу добиться с помощью классов — как мне это сделать?
<button id="easyBtn"">Easy</button>
С моими классами
.buttons button {
background-color: #03A9F4;
border: none;
padding: 5px 10px;
text-transform: uppercase;
color: white;
font-weight: 700;
border-radius: 3px;
}
.buttons button:hover, button:focus {
background-color: #0074a9;
outline: none;
}
Комментарии:
1. Автофокусировка — это то, что вы ищете? <идентификатор кнопки= «easyBtn» автофокусировка>Легко</button>
2. Добавьте класс
button .hover
в определение наведения / фокусировки. Таким образом, вы можете добавить этот класс к кнопке, чтобы «принудительно» использовать этот стиль.3. Это больше похоже на задание для стилизованных переключателей. Вы можете использовать свойство :checked для пользовательского стиля. Наведение и фокусировка работают как с любым другим элементом
4. @Alexander Не забудьте отметить ответ как принятый, если вы решили свою проблему, или опубликовать собственное решение в качестве ответа, чтобы помочь другим, у которых может быть такая же проблема, как у вас
Ответ №1:
Я думаю, вы обнаружите, что переключатели лучше подходят для этой работы. Вы можете стилизовать кнопки так, как хотите. Ниже мой взгляд на решение
var currentDifficulty = 'easy';
function onDifficultyChange(e) {
currentDifficulty = e.value;
console.log(currentDifficulty);
}
[type='radio'] {
display: none;
}
[type='radio'] ~ span {
padding: 8px 16px;
border: solid 1px royalblue;
}
[type='radio']:checked ~ span {
background: royalblue;
color: white;
}
<label>
<input
type="radio"
name="difficulty"
value="easy"
checked
onchange="onDifficultyChange(this)"
/>
<span>Easy</span>
</label>
<label>
<input
type="radio"
name="difficulty"
value="medium"
onchange="onDifficultyChange(this)"
/>
<span>Medium</span>
</label>
<label>
<input
type="radio"
name="difficulty"
value="hard"
onchange="onDifficultyChange(this)"
/>
<span>Hard</span>
</label>
Ответ №2:
Поскольку вы должны сохранять сложность игры в качестве переменной, вы можете запустить что-то подобное в своей функции инициализации игры:
document.getElementById(`button-${gameDifficulty}`).focus();
Но, как кто-то упоминал в теме, кажется, что переключатели здесь должны быть более уместными.