CSS翻转动画点击
CSS Flip animation on click
我遵循David Walsh提供的示例来制作翻转动画。它在悬停时都可以工作,但是,我想在点击时翻转元素,而不是在悬停时。
下面的代码工作并翻转元素悬停,然而,我想使用javascript/jquery实现这一点。我已经尝试了许多不同的方法,但就是不知道该怎么做。
.flip-container {
perspective: 1000px;
}
.flip-container:hover .flipper,
.flip-container.hover .flipper {
transform: rotateY(180deg);
}
.flip-container,
.front,
.back {
width: 320px;
height: 480px;
}
.flipper {
transition: 0.6s;
transform-style: preserve-3d;
position: relative;
}
.front,
.back {
backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
}
.front {
z-index: 2;
transform: rotateY(0deg);
}
.back {
transform: rotateY(180deg);
}
<div class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
1
</div>
<div class="back">
2
</div>
</div>
</div>
https://jsfiddle.net/pf4aemn7/HTML
<div class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
1
</div>
<div class="back">
2
</div>
</div>
</div>
CSS .flip-container {
perspective: 1000px;
}
.flip-container.hover .flipper {
transform: rotateY(180deg);
}
.flip-container,
.front,
.back {
width: 320px;
height: 480px;
}
.flipper {
transition: 0.6s;
transform-style: preserve-3d;
position: relative;
}
.front,
.back {
backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
}
.front {
z-index: 2;
transform: rotateY(0deg);
}
.back {
transform: rotateY(180deg);
}
JS
$(document).on("click", ".flip-container", function () {
$(this).toggleClass('hover');
});
在.flip-container
上使用onclick
事件处理程序,而不是ontouchstart
。当然,不要忘记从你的样式中删除css :hover
选择器(即.flip-container:hover .flipper
)。
.flip-container {
perspective: 1000px;
}
.flip-container.hover .flipper {
transform: rotateY(180deg);
}
.flip-container,
.front,
.back {
width: 320px;
height: 480px;
}
.flipper {
transition: 0.6s;
transform-style: preserve-3d;
position: relative;
}
.front,
.back {
backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
}
.front {
z-index: 2;
transform: rotateY(0deg);
}
.back {
transform: rotateY(180deg);
}
<div class="flip-container" onclick="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
1
</div>
<div class="back">
2
</div>
</div>
</div>
另外,我认为你应该把.hover
类重命名为更合适的.clicked
。
相关文章:
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- CSS3卡翻转动画,检测是否不支持
- 卡片翻转动画InternetExplorer11
- 在悬停Jquery/cs3时通过翻转动画更改文本
- 翻转动画在Firefox上不起作用
- Jquery 翻转卡动画,用于翻转切换事件
- 如何获得CSS3翻转动画到IE9
- 使用 Javascript 在 CSS3 中触发翻转动画
- 如何获得下一页/上一页的页面翻转动画
- 用动画翻转文本
- 交换两个翻转动画潜水
- 如何改变CSS翻转动画按钮点击
- CSS翻转动画点击
- 动画侧菜单在2个翻转部分
- 图像翻转和动画帮助需要jquery
- 如何添加一个简单的卡片翻转动画
- 为什么我的翻转动画不工作在chrome和safari浏览器
- 不能从SQL数据获得翻转计数器动画
- 在这个JS纸牌游戏中添加一个纸牌翻转动画