js 翻牌活动效果
直接上代码
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 翻牌活动效果的更多相关文章
- React.js实现原生js拖拽效果及思考
一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖 ...
- 用js实现动画效果核心方式
为了做好导航菜单,有时候需要在菜单下拉的时候实现动画效果,所以这几天就研究了研究如何用js实现动画效果,实现动画核心要用到两个函数,一个是setTimeOut,另一个是setInterval. 下边我 ...
- js拖拽效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)
虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang=&qu ...
- 原生JS实现分页效果1.0
不太完整,写的太急,等等加上完整注释,写起来还是有些难度的,写的有点水,后面再改进改进. <!DOCTYPE html><html lang="en">&l ...
- Android基于GridView实现的翻牌游戏效果
好久没有写博客了,上一篇博文距现在都有三个多月了,实在是惭愧.但是这段时间仍然是在忙于项目或是自我充电.这几天实现了一个基于GridView的翻牌动画效果,这里就将其整理出来同各位分享. 一.整体介绍 ...
- 使用JS实现手风琴效果
想要实现简单的手风琴切换效果,需要使用JS实现,如下是使用javascript源码实现,后续会更新使用jQuery实现. 1. 先进行简单的布局:我们可以再ul下添加几个li实现html的简单布局,再 ...
- js弹窗登录效果(源码)--web前端
1.JS弹窗登录效果 <!DOCTYPE html><html lang="en"><head> <meta charset=" ...
- 原生JS实现弹幕效果
纯属无聊写的,可能有很多问题,欢迎批评指教. 效果图:图一是预设的一些弹幕,图二是自己发射的弹幕,效果是一样的. 首先是弹幕的位置,是要从最右滑到最左,为了防止随机高度弹幕会覆盖的问题,设置了通道 ...
随机推荐
- February 26th, 2018 Week 9th Monday
A good beginning is half done. 良好的开端是成功的一半. We can't finish anything if we don't start, sometimes ge ...
- Python爬虫-01:爬虫的概念及分类
目录 # 1. 为什么要爬虫? 2. 什么是爬虫? 3. 爬虫如何抓取网页数据? # 4. Python爬虫的优势? 5. 学习路线 6. 爬虫的分类 6.1 通用爬虫: 6.2 聚焦爬虫: # 1. ...
- org.springframework.dao.InvalidDataAccessResourceUsageException: Unexpected cursor position change. Spring Batch 错误
在用SpringBatch 跑job的时候出现这个错误, 由于取数据的DB 是netezza, 框架可能支持的不是很全面,当然也可能是其他原因. <bean id="reader_rd ...
- linux学习笔记整理(二)
第三章 Linux基本命令操作本节所讲内容:3.1 Linux终端介绍 Shell提示符 Bash Shell基本语法3.2 基本命令的使用:ls.pwd.cd.history3.3 查看系统和BIO ...
- Web和移动开发的未来
Web和移动开发的未来 当我们与来自整个IT行业的专家交谈时,他们告诉我们技术,PWA和优化的持续整合是关键. 为了收集有关网络和移动开发当前和未来状况的见解,我们与19位IT主管进行了交流,我们问道 ...
- 在ASP.NET MVC中使用Redis
一.Redis基本认知 1.含义: REmote DIctionary Server(Redis) | 是一个key-value存储系统 2.特性: 2.1 持久化:可以将内存中的数据保存在磁盘中,重 ...
- ORACLE SPA
注:转自http://blog.csdn.net/wish503/article/details/52066944 ------------------------------------------ ...
- P2689 东南西北
题目描述 给出起点和终点的坐标及接下来T个时刻的风向(东南西北),每次可以选择顺风偏移1个单位或者停在原地.求到达终点的最少时间. 如果无法偏移至终点,输出“-1”. 输入输出格式 输入格式: 第一行 ...
- 01 python初学(注释、交互、if while for)
为了能生存下去,一定要坚持学习! 目录 1. 注释 2. 用户交互 3. if .while.for 语句 1. 注释 单行注释: # 多行注释: 三个单引号 || 三个双引号 2. 用户交互: ...
- anaconda新建虚拟环境安装各个依赖包
深度学习的代码,好多都需要安装一些安装包,在服务器上安装需要权限就很麻烦.看到网上有说把这些安装包一个个下载下来上传到服务器再安装,心累,想想工程量就很大~~~ 这时候就可以在anaconda中新建虚 ...