【问题标题】:Enable CSS effect through JS通过 JS 开启 CSS 效果
【发布时间】:2018-09-17 00:21:06
【问题描述】:

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

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>

如何使效果在您按下按钮而不是在您将鼠标移到图像上时启动?

提前致谢!

【问题讨论】:

    标签: javascript html css css-transforms


    【解决方案1】:

    这是一个使用 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");
      });
    

    【讨论】:

      【解决方案2】:

      鼠标按下时将与类更改结合使用。 从 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 中的所有图像 释放按钮时将翻转。 您可以使用以下方法通过 click 按钮保持翻转:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-18
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多