jquery - WebKit 浏览器的 CSS 卡翻转动画会阻止链接正常工作

标签 jquery css css-animations

我试图弄清楚如何创建一个卡片翻转动画,当您单击卡片正面的任意位置时触发该动画,并在鼠标离开时翻转回来。

我有基本的动画工作,但问题是卡片的两面都包含似乎被动画“阻止”的链接。右键单击链接有效,但直接单击链接只会触发动画。

我该如何修改才能使链接正确触发?

可通过 CodePen 获取该问题的现场演示。 。为了方便起见,下面也列出了代码。

HTML

<div class='flip'>
  <div class='card'>
    <div class='front face'>
      <a href='http://periphery.in'><h3>Rahul</h3></a>
    </div>
    <div class='back face'>
      <a href='http://github.com/O-I'><h3>O-I</h3></a>
    </div>
  </div>
</div>

CSS

.flip {
  -webkit-perspective: 800;
  height: 365px;
  width: 252px;
  position: relative;
  text-align: center;
  line-height: 200px;
}

.flip .card.flipped {
  -webkit-transform: rotatey(-180deg);
}

.flip .card {
  width: 100%;
  height: 100%;
  left: -4px;
  top: -4px;
  -webkit-transform-style: preserve-3d;
  -webkit-transition: 0.75s;
  position: absolute;
  border: 1px solid black;
}

.flip .card .face {
  width: 100%;
  height: 100%;
  position: absolute;
  -webkit-backface-visibility: hidden;
  z-index: 2;
}

.flip .card .front {
  position: absolute;
  z-index: 1;
  cursor: pointer;
}

.flip .card .back {
  -webkit-transform: rotatey(-180deg);
  cursor: pointer;
}

.back.face {
  overflow-y: scroll;
}

JQuery

$('.flip').click(function(){
  $(this).find('.card').addClass('flipped').mouseleave(function(){
    $(this).removeClass('flipped');
  });
  return false;
});

我在 Stack Overflow 上看到过类似的问题 question在这个 bug report ,但我仍然无法让我的具体示例发挥作用。任何正确方向的线索将不胜感激。谢谢!

最佳答案

我 fork 并修复了您的 CodePen(编辑:将其移至 JSbin,以便链接操作有效)。

Here's the awesomeness

CSS 更改:

h3 {
    display: inline;
}

要么这样,要么让它成为 <span>哈哈

Javascript:

$(document).on('click', '.flip', function(){
  $(this).find('.card').addClass('flipped').mouseleave(function(){
    $(this).removeClass('flipped');
  });
  return false;
});
$(document).on('click', 'a', function(evt) {
  var e = evt || window.event;
  var clickedOn = (e.currentTarget) ? e.currentTarget : e.srcElement;
  e.stopPropagation();
  window.location.href = clickedOn.href;
});

关于jquery - WebKit 浏览器的 CSS 卡翻转动画会阻止链接正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20862733/

相关文章:

javascript - Ng-Zorro nz-range-picker 在手机屏幕上溢出

jquery - toggleClass 仅将 'class' 作为属性添加到 HTML 元素 - 而不是 acctuall 类

html - css3 动画在 chrome 中不起作用

jquery - 错误: $. cookie不是函数

jquery - 如何清除 blueimp 的 jquery-fileupload 插件中先前选择的文件?

jquery-ui - 如何将 jqGrid 的 "close dialog"的事件正确附加到 "columns chooser"?

javascript - 如何设置第一个 Controller 数据另一个 Controller

javascript - jQuery - .removeClass 不起作用

html - 为什么我在使用 css 中的关键帧设置动画时会丢失光标样式和 onclick 功能(仅在 Google Chrome 中)?

css - 是否有一个 float div 的 CSS 动画在窗口调整大小时环绕?