[英]<button> change color when clicked in HTML?
How do I make a button change to another color when clicked and when clicked again it goes back to its original color? 如何在单击按钮时将按钮更改为另一种颜色,然后再次单击该按钮可恢复其原始颜色? Can I do by using CSS or do I have to use Javascript? 我可以使用CSS还是必须使用Javascript?
Thanks in advance 提前致谢
This is the HTML code of my buttons. 这是我按钮的HTML代码。
<div class="H1toH5">
<button class="seatButton">H1</button>
<button class="seatButton">H2</button>
<button class="seatButton">H3</button>
<button class="seatButton">H4</button>
<button class="seatButton">H5</button>
</div>
button
to another element (like span
) 将button
更改为另一个元素(例如span
) label
and checkbox
to control the toggle status 使用label
和checkbox
控制切换状态 :checked
CSS selector and +
sibling selector 使用:checked
CSS选择器和+
同级选择器 .H1toH5 input { display: none; } .H1toH5 .seatButton { padding: 5px; border: 1px solid #ccc; background: yellow; } .H1toH5 input:checked + .seatButton { background: red; }
<div class="H1toH5"> <label> <input type="checkbox" /> <span class="seatButton">H1</span> </label> <label> <input type="checkbox" /> <span class="seatButton">H1</span> </label> <label> <input type="checkbox" /> <span class="seatButton">H1</span> </label> <label> <input type="checkbox" /> <span class="seatButton">H1</span> </label> <label> <input type="checkbox" /> <span class="seatButton">H1</span> </label> </div>
How do I make a button change to another color when clicked and when clicked again it goes back to its original color? 如何在单击按钮时将按钮更改为另一种颜色,然后再次单击该按钮可恢复其原始颜色? Can I do by using CSS 我可以使用CSS来做吗
Try utilizing css
:focus
pseudo class , background-color
尝试利用css
:focus
伪类, background-color
button { background-color:yellow; } button:focus { background-color:orange; }
<div class="H1toH5"> <button class="seatButton">H1</button> <button class="seatButton">H2</button> <button class="seatButton">H3</button> <button class="seatButton">H4</button> <button class="seatButton">H5</button> </div>
no just the one that is clicked, but i want to be able to click on many buttons not just one 不只是被单击的那个,而且我希望能够单击许多按钮,而不仅仅是一个
var elems = document.getElementsByClassName("seatButton"); for (var i = 0; i < elems.length; i++) { elems[i].onclick = function() { var color = window.getComputedStyle(this, null) .getPropertyValue("background-color"); this.style.backgroundColor = color === "rgb(255, 255, 0)" ? "rgb(255, 165, 0)" : "rgb(255, 255, 0)"; }; };
button { background-color:yellow; }
<div class="H1toH5"> <button class="seatButton">H1</button> <button class="seatButton">H2</button> <button class="seatButton">H3</button> <button class="seatButton">H4</button> <button class="seatButton">H5</button> </div>
You can do this with css a ::before
pseudo element and the html checkbox
input tag 您可以使用css ::: ::before
伪元素和html checkbox
输入标记来执行此操作
input.toggle-btn { visibility: hidden; } input.toggle-btn::before { content: attr(value); display: inline-block; padding: 5px; background: #fff; font-size: 14pt; color: #aaa; border-radius: 5px; border: 1px solid #aaa; visibility: visible; } input.toggle-btn:checked::before { background: rgb(50,150,250); color: #eee; border-color: #eee; }
<input class="toggle-btn" type="checkbox" value="Hello">
No. You need to add/remove a class with javascript. 否。您需要使用javascript添加/删除类。 To make @tpie feel better about himself, here is the code for that. 为了使@tpie感觉更好,以下是该代码。 Using jQuery: 使用jQuery:
$('.seatButton').on('click', function(){
$(this).toggleClass('is-active');
});
This code will toggle a specific class when you click on it. 当您单击该代码时,它将切换特定的类。 If you click on the button again it will then return to it's original state. 如果再次单击该按钮,它将返回到其原始状态。
$('.seatButton').click(function () {
$(this).toggleClass('activeClass');
});
Or just use the CSS Pseudo selected as people have specified above. 或只使用上面指定的人选择的CSS伪。 There are many ways to achieve what you want! 有很多方法可以实现您想要的!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.