Включить эффект CSS через JS - PullRequest
       8

Включить эффект CSS через JS

0 голосов
/ 16 сентября 2018

У меня есть следующий код, который вызывает определенный эффект при обнаружении указателя мыши на изображении:

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 голосов
/ 16 сентября 2018

В mousedown будет работать в сочетании со сменой класса. Удалите .card: hover из css и замените его на

.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');
}); 
0 голосов
/ 16 сентября 2018

Вот пример CodePen, использующий JQuery для изменения CSS при нажатии.Может помочь.

Пример CodePen

HTML:

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

JavaScript (с JQuery):

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