循环按钮和更改样式

时间:2016-12-29 12:20:00

标签: javascript html css twitter-bootstrap

我是Javascript的新手,所以请记住! 我有三张照片,下面有三个按钮。一个拇指向上,infosymbol和垃圾桶。当我点击一个按钮时(我不希望它对按钮所在的图片有关)我希望div中的图片和按钮消失,而是在div中出现一个大拇指(如果我点击拇指图标)。 我到目前为止,但这只适用于图片下的特定按钮,我无法更改出现的图标上的字体样式。

var tumme = document.getElementsByClassName("btn-primary")[0];
var div = document.getElementsByClassName("col-md-4")[0];
tumme.addEventListener("click", function() {
  div.outerHTML = '<i class="fa fa-thumbs-o-up" aria-hidden="true"></i>';
  div.style.backgroundColor = "red";
});
.col-md-4 img {
  width: 100%;
  height: auto;
}
@media (min-width: 768px) and (max-width: 992px) {
  .col-center {
    float: none;
    margin: 0 auto;
  }
}
.linje-botten {
  border-bottom: 3px solid black;
}
li:hover {
  background-color: #1a542b;
}
.navbar-nav {
  margin: 0px;
  font-size: 1.4em;
}
/* #1a542b #eb9822 */

.navbar-inverse .navbar-nav>li>a {
  color: white;
}
.col-xs-6 {
  margin-bottom: 5px;
}
img {
  margin-bottom: 3px;
}
.navbar-inverse {
  box-shadow: #515d63 4px 4px 4px;
}
body {
  background-color: #eb9822;
}
<script src="https://use.fontawesome.com/ab9989071e.js"></script>

<div class="container">
  <div class="row">
    <header class="col-md-12 col-xs-12 text-center">
      <h1 class="linje-botten">A&amp;A-design</h1>
      <!--fixa någon logga här-->
      <nav class="navbar navbar-inverse">
        <ul class="nav navbar-nav">
          <li class="bakgrund"><a href="om.html">Om oss</a>
          </li>
          <li class="bakgrund"><a href="projekt.html">Tidigare projekt</a>
          </li>
          <li class="bakgrund"><a href="priser.html">Priser</a>
          </li>
          <li class="bakgrund"><a href="kontakt.html">Kontakt</a>
          </li>
          <li class="bakgrund"><a href="hitta.html">Hitta hit</a>
          </li>
        </ul>
      </nav>
    </header>
    <main>
      <div class="col-md-4 col-xs-6">
        <img src="../f%C3%B6retag/bilder/data1.jpg" alt="">
        <button class="btn btn-block btn-primary" type="button"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i>Gilla</button>
        <button class="btn btn-block btn-info" type="button"><i class="fa fa-info" aria-hidden="true"></i>Info</button>
        <button class="btn btn-block btn-danger" type="button"><i class="fa fa-trash" aria-hidden="true"></i>Skicka till papperskorgen</button>
      </div>
      <div class="col-md-4 col-xs-6" id="butt">
        <img src="../f%C3%B6retag/bilder/data2.jpg" alt="">
        <button id="button" class="btn btn-block btn-primary" type="button"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i>Gilla</button>
        <button class="btn btn-block btn-info" type="button"><i class="fa fa-info" aria-hidden="true"></i>Info</button>
        <button class="btn btn-block btn-danger" type="button"><i class="fa fa-trash" aria-hidden="true"></i>Skicka till papperskorgen</button>
      </div>
      <div class="col-md-4 col-xs-6 col-center">
        <img src="../f%C3%B6retag/bilder/data3.jpg" alt="">
        <button class="btn btn-block btn-primary" type="button"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i>Gilla</button>
        <button class="btn btn-block btn-info" type="button"><i class="fa fa-info" aria-hidden="true"></i>Info</button>
        <button class="btn btn-block btn-danger" type="button"><i class="fa fa-trash" aria-hidden="true"></i>Skicka till papperskorgen</button>
      </div>
    </main>
  </div>
</div>

2 个答案:

答案 0 :(得分:1)

在vanilla js中,你可以这样做:

var tumme = document.getElementsByClassName("btn-primary");

for(i=0;i<tumme.length;i++) {
tumme[i].onclick=function() {

this.parentElement.outerHTML = '<i class="fa fa-thumbs-o-up big-thumb" aria-hidden="true"></i>';

}
};

注意,我已经添加了.big-thumb类(您可以在css中设置所需的值):

.big-thumb {
  font-size:50px!important;
  background:red;
}

演示:https://jsfiddle.net/cyvq9gzv/1/

答案 1 :(得分:0)

有这样的事吗?
已编辑:

var thumbsUp = '<i class="fa fa-thumbs-o-up" aria-hidden="true" style="font-size:40px"></i>';
var tumme = document.getElementsByClassName("btn-primary");
for (var i = 0; i < tumme.length; i++) {
  tumme[i].addEventListener("click", function() {
    this.parentNode.innerHTML = thumbsUp;
  });
}

https://fiddle.jshell.net/ffsdq1bu/2/