通过JS启用CSS效果

时间:2018-09-16 13:51:20

标签: javascript html css css-transforms

我有以下代码,当在图像上找到鼠标指针时会触发某种效果:

body {
  font: 600 14px/24px "Open Sans", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", Sans-Serif;
  margin: 12px 0;
}

.card-container {
  cursor: pointer;
  height: 150px;
  perspective: 600;
  position: relative;
  width: 150px;
}

.card {
  height: 100%;
  position: absolute;
  transform-style: preserve-3d;
  transition: all 1s ease-in-out;
  width: 100%;
}

.card:hover {
  transform: rotateY(180deg);
}

.card .side {
  backface-visibility: hidden;
  border-radius: 6px;
  height: 100%;
  position: absolute;
  overflow: hidden;
  width: 100%;
}

.card .back {
  background: #eaeaed;
  color: #0087cc;
  line-height: 150px;
  text-align: center;
  transform: rotateY(180deg);
}
<div class="card-container">
  <div class="card">
    <div class="side"><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/29841/jimmy.jpg" alt="Jimmy Eat World"></div>
    <div class="side back">Jimmy Eat World</div>
  </div>
</div>

当我按下按钮而不是将鼠标移到图像上方时,如何使效果开始?

谢谢!

2 个答案:

答案 0 :(得分:0)

这是一个使用JQuery在单击时更改CSS的CodePen示例。可能会有帮助。

CodePen Example

HTML:

<div id="divTester">Click me to change color</div>

JavaScript(带有JQuery):

$("body").on("click", "#divTester", function()
  {
     $("#divTester").css("color", "blue");
  });

答案 1 :(得分:0)

在将鼠标按下时与类更改结合使用。 从CSS中删除.card:hover并用

替换
.card.flip {
    transform: rotateY(180deg);
}

将按钮添加到html中,例如:

<button id="trigger">Press</button>

比添加JS更改类。取而代之的是jQuery示例:

$('#trigger').mousedown(function() {
    $('.card').addClass('flip');
}).mouseup(function(){
    $('.card').removeClass('flip');
}); 

这将用一个按钮按下翻转.card div中的所有图像 释放按钮时,它将翻转。 您可以使用以下按钮使翻盖保持按下点击

$('#trigger').click(function() {
    $('.card').toggleClass('flip');
});