CSS3 + JavaScript原生 实现翻转特效
2017-12-20 15:41
519 查看
利用CSS3 动画:
@keyframes 一个定义动画的属性
具体在这里就不详细解释了,想要详细了解的可以访问下面这个网址:
http://www.w3school.com.cn/css3/css3_animation.asp
理论上来说就是先定义好想要的动画效果,再用JS 将写好的效果用鼠标移入移出的事件来配合:
废话不多说,直接上代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>动画翻转</title> <style> /*将两张图设定在同一个位置*/ #parentEm{ position: relative; text-align: center; margin:100px 200px; } .firstImg{ position: absolute; } #parentEm>div{ width:100%; } /*设定好想要的旋转的效果*/ @-webkit-keyframes rotateStart { from { transform: perspective(1500px); } 40% { transform: perspective(1500px) rotate3d(0, 1, 0, 60deg); opacity: 1; } 50% { transform: perspective(1500px) rotate3d(0, 1, 0, 90deg); opacity: 0; } to { transform: perspective(1500px) rotate3d(0, 1, 0, 180deg); opacity: 0; } } @-webkit-keyframes rotateEnd { from { transform: perspective(1500px) rotate3d(0, 1, 0, -180deg); opacity: 0; } 50% { transform: perspective(1500px) rotate3d(0, 1, 0, -90deg); opacity: 0; } 60% { transform: perspective(1500px) rotate3d(0, 1, 0, -60deg); opacity: 1; } to { transform: perspective(1500px); opacity: 1; } } /*执行动画的时间效果*/ .rotate1{ animation: rotateStart 0.8s linear; animation-fill-mode: both; } .rotate2{ animation: rotateEnd 0.8s linear; animation-fill-mode: both; } </style> </head> <body> <div id="parentEm" onmouseenter="mouseIn(this)" onmouseleave="mouseOut(this)"> <div class="firstImg"> <img src="bi1.png" /> </div> <div class="secondImg"> <img src="bi2.png" /> </div> </div> <script> function mouseIn(that) { //鼠标移入效果 var first=that.getElementsByTagName("img")[0],second=that.getElementsByTagName("img")[1]; first.setAttribute("class",""); second.setAttribute("class",""); first.setAttribute("class","rotate1"); second.setAttribute("class","rotate2"); } function mouseOut(that) { //鼠标移出效果 var first=that.getElementsByTagName("img")[0],second=that.getElementsByTagName("img")[1]; first.setAttribute("class",""); second.setAttribute("class",""); first.setAttribute("class","rotate2"); second.setAttribute("class","rotate1"); } </script> </body> </html>
实现效果 :
相关文章推荐
- 原生JavaScript实现Tooltip浮动提示框特效
- CSS3实现3D魔方翻转网页动画特效
- css3实现的翻转特效及tab切换功能
- CSS3 特效按钮 + 原生JS递归实现fadeout
- 原生JavaScript 全特效微博发布面板效果实现
- css3实现3D色子翻转特效
- JQuery和原生JavaScript实现网页定位导航特效
- javascript学习-原生javascript的小特效(原生javascript实现链式运动)
- 原生JavaScript中动画与特效的实现原理
- css3实现3D立体翻转导航特效
- javascript+css3 实现动态按钮菜单特效
- 基于JQuery和原生JavaScript实现网页定位导航特效
- 原生JavaScript 全特效微博发布面板效果实现
- css3 javascript 实现菜单按钮特效
- JavaScript + CSS3 实现的海报画廊特效
- CSS3实现Loading动画特效
- 本周推荐7款CSS3实现的动态特效
- Ajax获取XML数据--原生JavaScript实现
- 基于css3的文字3D翻转特效