Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按钮逐一着色_Javascript_Html_Button_Colors - Fatal编程技术网

Javascript 按钮逐一着色

Javascript 按钮逐一着色,javascript,html,button,colors,Javascript,Html,Button,Colors,我用javascript给按钮上色,但我想说的是当一个按钮被按下时,所有其他按钮都是灰色的(设置为默认颜色) 这就是我的立场: Javascript: function changeBtn(btn) { if (! btn.style) { alert("Err!"); return; } btn.style.background = "#acd484"; return; } HTML: 如果你明白我想要完成什么,有人有什

我用javascript给按钮上色,但我想说的是当一个按钮被按下时,所有其他按钮都是灰色的(设置为默认颜色)

这就是我的立场:

Javascript:

function changeBtn(btn) {
    if (! btn.style)
    {
        alert("Err!");
        return;
    }
    btn.style.background = "#acd484";
    return;
}
HTML:

如果你明白我想要完成什么,有人有什么想法吗:)

document.getElementsByClassName(“submit”).onclick=function(){
var allButtons=document.getElementsByClassName(“提交”);
var count=allButtons.length;

对于(var i=0;i要将所有按钮和其他按钮设置为灰色(单击的按钮除外),最简单的方法是根据
submit
类抓取所有按钮,然后对它们进行迭代并设置颜色。在设置绿色之前执行此操作

function changeBtn(btn){
    if (!btn.style)
    {
        alert("Err!");
        return;
    }
    var buttons = document.querySelectorAll('.submit');
    for(var i=0; i<buttons.length; i++){
        buttons[i].style.background = 'grey';   
    }

    btn.style.background = "#acd484";
    return;
}
功能更改btn(btn){
如果(!btn.style)
{
警惕(“呃!”);
回来
}
var按钮=document.querySelectorAll('.submit');

对于(var i=0;i我使用jQuery解决了这个问题

用这个改变你的功能

function changeBtn(btn) {
  $(".submit").removeClass("selected");
  $(btn).addClass("selected")
}
还有你的css

.submit {
    border-top:     1px solid #ffffff;
    border-left:        1px solid #ffffff;
    border-right:       1px solid #000000;
    border-bottom:      1px solid #000000;
    padding:        0px 20px !important;
    font-size:      11px !important;
    background-color:   #fff;
    font-weight:        bold;
    color:          #453;
}

.selected {
  background-color:#acd484;
} 

非常感谢,这正是我想要的。虽然这个代码块可能会回答这个问题,但如果您能提供一些解释,说明它为什么会这样做,那将是最好的。
function changeBtn(btn){
    if (!btn.style)
    {
        alert("Err!");
        return;
    }
    var buttons = document.querySelectorAll('.submit');
    for(var i=0; i<buttons.length; i++){
        buttons[i].style.background = 'grey';   
    }

    btn.style.background = "#acd484";
    return;
}
function changeBtn(btn) {
  $(".submit").removeClass("selected");
  $(btn).addClass("selected")
}
.submit {
    border-top:     1px solid #ffffff;
    border-left:        1px solid #ffffff;
    border-right:       1px solid #000000;
    border-bottom:      1px solid #000000;
    padding:        0px 20px !important;
    font-size:      11px !important;
    background-color:   #fff;
    font-weight:        bold;
    color:          #453;
}

.selected {
  background-color:#acd484;
}