如何在Javascript中添加/删除css类div?

时间:2017-06-25 10:48:23

标签: javascript html css

我正在尝试创建一个div,它在CSS类之间进行单击时更改,再次单击它会将div翻转回来。我第二次点击div时试图删除这个类,但似乎我没有按照正确的方式去做。 我如何实现这一目标?

    $('.snu').click(function () {
        $(this).find('.kort').addClass('snudd');
        });
  
     $('.snudd').click(function () {
        $(this).find('.kort').removeClass('snudd');
        });
    body {
    background: #ccc;
}
.snu {
    -webkit-perspective: 800;
    -moz-perspective: 800;
    width: 400px;
    height: 200px;
    position: relative;
    margin: 50px auto;
}
.snu .kort.snudd {
    -webkit-transform: rotatey(-180deg);
    -moz-transform: rotatey(-180deg);
}
.snu .kort {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: 0.5s;
    -moz-transform-style: preserve-3d;
    -moz-transition: 0.5s;
}
.snu .kort .side {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    z-index: 2;
    font-family: Georgia;
    font-size: 1em;
    text-align: center;
    line-height: 200px;
}
.snu .kort .forrand {
    position: absolute;
    z-index: 1;
    background: black;
    color: white;
    cursor: pointer;
}
.snu .kort .bak {
    -webkit-transform: rotatey(-180deg);
    -moz-transform: rotatey(-180deg);
    background: blue;
    background: white;
    color: black;
    cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div class="snu">
    <div class="kort">
        <div class="side forrand">dette er forranddfsdfgsdfdsfgdsgfg</div>
        <div class="side bak">dett er  bakgdfgdfgdfg</div>
    </div>
</div>

4 个答案:

答案 0 :(得分:0)

使用以下js

 $('.snu').click(function () {
    $(this).find('.kort').toggleClass('snudd');
    });

答案 1 :(得分:0)

在第一个事件监听器中使用toggleClass()。您不能将事件侦听器应用于代码运行时不存在的类

$('.snu').click(function() {
  $(this).find('.kort').toggleClass('snudd');
});
body {
  background: #ccc;
}

.snu {
  -webkit-perspective: 800;
  -moz-perspective: 800;
  width: 400px;
  height: 200px;
  position: relative;
  margin: 50px auto;
}

.snu .kort.snudd {
  -webkit-transform: rotatey(-180deg);
  -moz-transform: rotatey(-180deg);
}

.snu .kort {
  width: 100%;
  height: 100%;
  -webkit-transform-style: preserve-3d;
  -webkit-transition: 0.5s;
  -moz-transform-style: preserve-3d;
  -moz-transition: 0.5s;
}

.snu .kort .side {
  width: 100%;
  height: 100%;
  position: absolute;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  z-index: 2;
  font-family: Georgia;
  font-size: 1em;
  text-align: center;
  line-height: 200px;
}

.snu .kort .forrand {
  position: absolute;
  z-index: 1;
  background: black;
  color: white;
  cursor: pointer;
}

.snu .kort .bak {
  -webkit-transform: rotatey(-180deg);
  -moz-transform: rotatey(-180deg);
  background: blue;
  background: white;
  color: black;
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div class="snu">
  <div class="kort">
    <div class="side forrand">dette er forranddfsdfgsdfdsfgdsgfg</div>
    <div class="side bak">dett er bakgdfgdfgdfg</div>
  </div>
</div>

答案 2 :(得分:0)

使用纯javascript

let snu = document.querySelector('.snu');
let kort = document.querySelector('.kort');

snu.onclick =  function() {
    kort.classList.toggle('snudd');
} 

答案 3 :(得分:0)

使用toggleClass

$('.snu').click(function () {
    $(this).find('.kort').toggleClass('snudd');
});