单击5行时更改单个div的背景颜色,单击另一个时重置?

时间:2017-03-20 06:03:21

标签: javascript button colors background

当我遇到困难时,我在这个网站上找到了很多有用的答案,现在我发现自己迷失了,因为我对此很陌生,并且不知道任何javascript。

我正在尝试在我的网站上添加一个功能,其中包含5个按钮,每个按钮显示一个div下面的部分(我有切换此代码的代码可以,但是!!

这对你们来说可能听起来很容易,但是如果在点击div时我怎么能改变背景颜色然后如果他们点击其中一个div就重置它,这应该适用于5中的每一个。



<style type="text/css">
.btnmtb{
margin-right: 5px;
touch-action: manipulation;
cursor: pointer;
background-color: #1E2327;
padding: 20px 0px;
text-align: center;
}


.btnmtb h1 {
color: #fff;

}

.btnmtb h4 {
color: #fff;

}

.btnmtb p {
color: #fff;
font-family: 'Ubuntu', sans-serif;
font-size: 14px;
padding: 0px 20px 0px 20px;

}

</style>

<div class="disciplines">
<div class="row">
<div class="btnmtb col-md-2 col-md-offset-1 box1">
<p><img src="https://charged.bike/image/catalog/demo/symbols/trail-control.png" width="60%"></p>
<h1>Cross Country</h1>
<h4>Hardtail - 100/120mm</h4>
<p>eMountain Bikes designed for light offroad trails</p>
<i class="fa fa-chevron-down"></i>
</div>
<div class="btnmtb col-md-2 box2">
<p><img src="https://charged.bike/image/catalog/demo/symbols/trail-control.png" width="60%"></p>
<h1>Cross Country</h1>
<h4>FullSus - 100/120mm</h4>
<p>Fast paced eMTB's designed for light trail with rear suspension</p>
<i class="fa fa-chevron-down"></i>
</div>
<div class="btnmtb col-md-2 box3">
<p><img src="https://charged.bike/image/catalog/demo/symbols/trail-control.png" width="60%"></p>
<h1>Trail</h1>
<h4>FullSus - 140/150mm</h4>
<p>Mid Travel - perfect weapons for the more ambitious eMTB rider</p>
<i class="fa fa-chevron-down"></i>
</div>
<div class="btnmtb col-md-2 box4">
<p><img src="https://charged.bike/image/catalog/demo/symbols/trail-control.png" width="60%"></p>
<h1>Enduro</h1>
<h4>FullSus - 160/170mm</h4>
<p>eMountain bikes with long travel designed for the toughest terrain</p>
<i class="fa fa-chevron-down"></i>
</div>
<div class="btnmtb col-md-2 box5">
<p><img src="https://charged.bike/image/catalog/demo/symbols/trail-control.png" width="60%"></p>
<h1>Fatbike</h1>
<h4>Large Tyres - 100/120mm</h4>
<p>The eMountain bikes that look like they have dropped out of a comic book</p>
<i class="fa fa-chevron-down"></i>
</div>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

HTML

<body>
  <div class="container">
    <div style="background-color:red;width:50%" class="element active">
      Red
    </div>
    <div style="background-color:yellow;width:50%" class="element">
      Yellow
    </div>
    <div style="background-color:blue;width:50%" class="element">
      Yellow
    </div>
    <div style="background-color:black;width:50%" class="element">
      Yellow
    </div>
    <div style="background-color:white;width:50%" class="element">
      Yellow
    </div>
  </div>
</body>

的JavaScript + JQuery的

$(".element").on("click",function()
{
    $(".element").removeClass("active");

  $(this).addClass("active");
});

CSS

.active{
  background-color:green !important;
}

JSFiddle

答案 1 :(得分:0)

请使用此javascript代码(已更新)

var elements = document.getElementsByClassName('btnmtb');
for (var i = 0; i < elements.length; i++) {
     elements[i].addEventListener('click', function() {
        for (var j = 0; j < elements.length; j++) {
           if (elements[j].hasAttribute("style")) {
             elements[j].setAttribute('style', '');
           }
        }
        this.style.backgroundColor = "red";
     }, false);
};