直接上代码

html:

<div class="index_main">
<ul class="index_card">
<li class="one"><img src="{:ADDON_APP_PATH}/img/card.png" /></li>
<li class="two"><img src="{:ADDON_APP_PATH}/img/card.png" /></li>
<li class="third"><img src="{:ADDON_APP_PATH}/img/card.png" /></li>
</ul>
</div>

界面css:

.index_main{ margin:  25px; padding-top: 15px;}
.index_card{ position: relative; height: 122px;}
.index_card li{ width: %; padding: 1.5%; position: absolute; top: ;}
.index_card li img{ width: %; display: block;}
.index_card .one{ left: ;}
.index_card .two{ left: %;}
.index_card .third{ left: %;}
.index_card .one.choose{ z-index: ;
animation: onePlay 1s linear ;
-webkit-animation: onePlay 1s linear ;
-moz-animation: onePlay 1s 0s linear ;
}
.index_card .two.choose{ z-index: ;
animation: twoPlay 1s linear ;
-webkit-animation: twoPlay 1s linear ;
-moz-animation: twoPlay 1s 0s linear ;
}
.index_card .third.choose{ z-index: ;
animation: thirdPlay 1s linear ;
-webkit-animation: thirdPlay 1s linear ;
-moz-animation: thirdPlay 1s 0s linear ;
}

旋转css:(做了兼容的,可以放心使用)

/*动画*/
@keyframes onePlay{
% { left: %; transform:scale() rotateY(0deg);}
% { left: %; transform:scale(1.1) rotateY(180deg);}
% { left: %; transform:scale(1.2) rotateY(0deg);}
% { left: %; transform:scale(1.3) rotateY(180deg);}
% { left: %; transform:scale(1.4) rotateY(0deg);}
% { left: %; transform:scale(1.5) rotateY(180deg);}
}
@-webkit-keyframes onePlay{
% { left: %; -webkit-transform:scale() rotateY(0deg);}
% { left: %; -webkit-transform:scale(1.1) rotateY(180deg);}
% { left: %; -webkit-transform:scale(1.2) rotateY(0deg);}
% { left: %; -webkit-transform:scale(1.3) rotateY(180deg);}
% { left: %; -webkit-transform:scale(1.4) rotateY(0deg);}
% { left: %; -webkit-transform:scale(1.5) rotateY(180deg);}
}
@-moz-keyframes onePlay{
% { left: %; -moz-transform:scale() rotateY(0deg);}
% { left: %; -moz-transform:scale(1.1) rotateY(180deg);}
% { left: %; -moz-transform:scale(1.2) rotateY(0deg);}
% { left: %; -moz-transform:scale(1.3) rotateY(180deg);}
% { left: %; -moz-transform:scale(1.4) rotateY(0deg);}
% { left: %; -moz-transform:scale(1.5) rotateY(180deg);}
} @keyframes twoPlay{
% { transform:scale() rotateY(0deg);}
% { transform:scale(1.1) rotateY(180deg);}
% { transform:scale(1.2) rotateY(0deg);}
% { transform:scale(1.3) rotateY(180deg);}
% { transform:scale(1.4) rotateY(0deg);}
% { transform:scale(1.5) rotateY(180deg);}
}
@-webkit-keyframes twoPlay{
% { -webkit-transform:scale() rotateY(0deg);}
% { -webkit-transform:scale(1.1) rotateY(180deg);}
% { -webkit-transform:scale(1.2) rotateY(0deg);}
% { -webkit-transform:scale(1.3) rotateY(180deg);}
% { -webkit-transform:scale(1.4) rotateY(0deg);}
% { -webkit-transform:scale(1.5) rotateY(180deg);}
}
@-moz-keyframes twoPlay{
% { -moz-transform:scale() rotateY(0deg);}
% { -moz-transform:scale(1.1) rotateY(180deg);}
% { -moz-transform:scale(1.2) rotateY(0deg);}
% { -moz-transform:scale(1.3) rotateY(180deg);}
% { -moz-transform:scale(1.4) rotateY(0deg);}
% { -moz-transform:scale(1.5) rotateY(180deg);}
} @keyframes thirdPlay{
% { left: %; transform:scale() rotateY(0deg);}
% { left: %; transform:scale(1.1) rotateY(180deg);}
% { left: %; transform:scale(1.2) rotateY(0deg);}
% { left: %; transform:scale(1.3) rotateY(180deg);}
% { left: %; transform:scale(1.4) rotateY(0deg);}
% { left: %; transform:scale(1.5) rotateY(180deg);}
}
@-webkit-keyframes thirdPlay{
% { left: %; -webkit-transform:scale() rotateY(0deg);}
% { left: %; -webkit-transform:scale(1.1) rotateY(180deg);}
% { left: %; -webkit-transform:scale(1.2) rotateY(0deg);}
% { left: %; -webkit-transform:scale(1.3) rotateY(180deg);}
% { left: %; -webkit-transform:scale(1.4) rotateY(0deg);}
% { left: %; -webkit-transform:scale(1.5) rotateY(180deg);}
}
@-moz-keyframes thirdPlay{
% { left: %; -moz-transform:scale() rotateY(0deg);}
% { left: %; -moz-transform:scale(1.1) rotateY(180deg);}
% { left: %; -moz-transform:scale(1.2) rotateY(0deg);}
% { left: %; -moz-transform:scale(1.3) rotateY(180deg);}
% { left: %; -moz-transform:scale(1.4) rotateY(0deg);}
% { left: %; -moz-transform:scale(1.5) rotateY(180deg);}
}

js:

这里讲原理就好了,大家自己多去思考。这里通过点击,然后在你点击的那张图片增加“choose”这个className.这样就触发了动态的样式,最后当你设置一个setTimeOut,让你的图片显示,最后把“choose”这个className从那张图片上去除掉,就可以了。

js 翻牌活动效果的更多相关文章

  1. React.js实现原生js拖拽效果及思考

    一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖 ...

  2. 用js实现动画效果核心方式

    为了做好导航菜单,有时候需要在菜单下拉的时候实现动画效果,所以这几天就研究了研究如何用js实现动画效果,实现动画核心要用到两个函数,一个是setTimeOut,另一个是setInterval. 下边我 ...

  3. js拖拽效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)

    虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang=&qu ...

  5. 原生JS实现分页效果1.0

    不太完整,写的太急,等等加上完整注释,写起来还是有些难度的,写的有点水,后面再改进改进. <!DOCTYPE html><html lang="en">&l ...

  6. Android基于GridView实现的翻牌游戏效果

    好久没有写博客了,上一篇博文距现在都有三个多月了,实在是惭愧.但是这段时间仍然是在忙于项目或是自我充电.这几天实现了一个基于GridView的翻牌动画效果,这里就将其整理出来同各位分享. 一.整体介绍 ...

  7. 使用JS实现手风琴效果

    想要实现简单的手风琴切换效果,需要使用JS实现,如下是使用javascript源码实现,后续会更新使用jQuery实现. 1. 先进行简单的布局:我们可以再ul下添加几个li实现html的简单布局,再 ...

  8. js弹窗登录效果(源码)--web前端

    1.JS弹窗登录效果 <!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  9. 原生JS实现弹幕效果

    纯属无聊写的,可能有很多问题,欢迎批评指教. 效果图:图一是预设的一些弹幕,图二是自己发射的弹幕,效果是一样的.   首先是弹幕的位置,是要从最右滑到最左,为了防止随机高度弹幕会覆盖的问题,设置了通道 ...

随机推荐

  1. 【排列组合】ZSC1076: 数学、不容易系列之三——考新郎

    国庆期间,省城刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的: 首先,给每位新娘打扮得几乎一模一样,并 ...

  2. ubuntu如何安装 adobe flash player或adobe插件

    方法/步骤 第一步当然是打开终端控制器.有很多方法,这里推荐使用快捷键:ctrl+alt+T.快捷又方便. 然后更新源列表,使用如下命令:sudo apt-get update,后面要输入密码. 下面 ...

  3. chrome的source工具

    http://www.cnblogs.com/ys-ys/p/5597717.html http://www.cnblogs.com/strick/p/5556434.html

  4. 【2017山东day7】养猫

    [2017山东day7]养猫 Description 你养了一只猫,为了让它快乐地成长,你需要合理地安排它每天的作息时间.假设一天分为$ n \(个时刻,猫在每个时刻要么是吃东西,要么是睡觉.在第\) ...

  5. WPF窗体の投影效果

    有时候我们需要给WPF窗体加上一个毛边(投影效果) 我们可以在窗体下加上如下代码 <Window.Effect> <DropShadowEffect BlurRadius=" ...

  6. 2.04-proxy-handler

    import urllib.request def create_proxy_handler(): url = "https://blog.csdn.net/m0_37499059/arti ...

  7. 004_后端js编写工具

    一.框架同事用的后端调试用的工具 google=>"webpack dev server" https://webpack.github.io/docs/webpack-de ...

  8. 四.js 正则表达式

    一.正则表达式 1.定义:对字符串规则的描述 2.作用:可以检查字符串是否符合规则,可以按规则来截取字符串 3.定义: a.简单模式:var reg = /hello/; b.复杂模式:var reg ...

  9. svn 锁的处理

    svn 锁的处理: 问题: 1:当用户在work copy1 中把某个文件或者文件夹锁住后,删除了这个工作区,重新取下来work copy2,再操作该文件的时候就报错说,该文件已经被锁住,必须先解锁, ...

  10. day08--文件操作(2)

    一.with open(): 形式:with open('文件路径(文件名)','文件操作方式','字符编码方式')as 文件别名: with open操作可以将文件的内存释放交给with 管理,wi ...