直接上代码

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. win32gui.Findwindow(parm1,parm2)查找窗口的句柄方法

    介绍之前先让大家了解一下win32gui的模块用法 和 获取窗口类名工具 使用Python时,有时也会要操作到系统窗口的一些东西,下面就介绍win32gui.Findwindow(param1,par ...

  2. 前端性能优化成神之路-HTTP压缩开启gzip

    什么是HTTP压缩 HTTP压缩是指: Web服务器和浏览器之间压缩传输的”文本内容“的方法. HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件. 能大大减少 ...

  3. 并发的HashMap为什么会引起死循环?

    转载:http://blog.csdn.net/zhuqiuhui/article/details/51849692 今天研读Java并发容器和框架时,看到为什么要使用ConcurrentHashMa ...

  4. CentOS7使用DevStack快速搭建OpenStack实验环境

    安装环境:centos7系统下安装devstack 一.下载Ubuntu14或者Centos7安装(实体机或者虚拟机都可以),建议选择最小安装镜像即可. 二.安装devstack 文档地址 http: ...

  5. 【css】怎么让Chrome支持小于12px 的文字

    谷歌浏览器Chrome是Webkit的内核,有一个 -webkit-text-size-adjust 的私有 CSS 属性,通过它即可实现字体大小不随终端设备或浏览器影响.CSS样式定义如下:-web ...

  6. day1 计算机组成、操作系统

    一:编程与编程的目的 1.什么是语言?什么是编程语言? 语言是一个事物与另一个事物沟通的介质. 编程语言是程序员与计算机沟通的介质. 2.什么是编程?为什么要编程? 编程是程序员将自己想要让计算机做的 ...

  7. Kali-linux使用Metasploit基础

    Metasploit是一款开源的安全漏洞检测工具.它可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全性评估,提供真正的安全风险情报.当用户第一次接触Metasploit渗透测试框架软 ...

  8. nginx + tomcat = http && https

    Tomcat版块配置: vim /to/path/conf/server.xml <Server port="" shutdown="SHUTDOWN"& ...

  9. day95

    Linux基本部署配置及常见扩展应用 Linux软件包安装方法 1. 安装: 整个安装过程可以分为以下几步: 1) 取得应用软件:通过下载.购买光盘的方法获得: 2)解压缩文件:一般tar包,都会再做 ...

  10. day93之微信推送

    python之微信推送详解 用什么推送   -邮件   -微信推送   -短信推送微信推送   -公众号(不能主动给用户发消息)    -认证的公众号:需要营业执照,需要交钱,可以发多篇文章    - ...