<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#container {
width: 200px;
height: 200px;
}
.card{
width: 100%;
height:100%;
margin: 0 auto;
overflow: hidden;
}
.card_a{
background-color: red;
}
.card_b{
background-color: blue;
display: none;
}
</style>
</head>
<body>
<div id="container">
<div class="card card_a">A</div>
<div class="card card_b">B</div>
</div>
<script src="main.js"></script>
</body>
</html>
/**
* Created by Administrator on 2016/8/9.
*/
(function () {
var cardA = document.querySelector("#container .card_a");
var cardB = document.querySelector("#container .card_b");
var container = document.querySelector("#container");
var playing = false;
var aVisible = false; function showA() {
if (!aVisible) {
cardA.style.display = "block";
cardB.style.display = "none";
aVisible = true;
}
} function showB() {
if (aVisible) {
cardA.style.display = "none";
cardB.style.display = "block";
aVisible = false;
}
} function turnFromTo(from, to) {
if (!playing) {
playing = true;
var widthPrecent = 100;
var speed = widthPrecent / 20;
var id = setInterval(function () {
widthPrecent -= speed;
from.style.width = widthPrecent + "%";
if (widthPrecent <= 0) {
clearInterval(id);
if (aVisible) {
showB();
} else {
showA();
}
to.style.width = "0";
id = setInterval(function () {
widthPrecent += speed;
if (widthPrecent >= 100) {
widthPrecent = 100 + "%";
clearInterval(id);
playing = false;
}
to.style.width = widthPrecent + "%";
}, 20);
}
}, 20);
}
} function turnToA() {
turnFromTo(cardB, cardA);
} function turnToB() {
turnFromTo(cardA, cardB);
} function init() {
showA();
container.onclick = function (event) {
if (aVisible) {
turnToB();
}
else {
turnToA();
}
}
} init();
})();

js实现翻牌效果的更多相关文章

  1. 使用JS与CSS3的翻转实现3D翻牌效果

    之前我们有讨论过使用CSS3如何实现网页水平翻转的效果,而这次我们介绍的是翻转效果更深一层的应用——3D翻牌效果. 这里我们需要使用flip中轴翻转实现,又因为是3D效果,如果希望呈现一定的3D视角, ...

  2. css3之3D翻牌效果

      最近一直在学css3,发现他真的是越来越牛逼.现在的css3已经不在是以前的css了,它能做出的功能效果是我们没法想象的了.它可以实现flash,可以制作一些js能做出来的效果,还可以写出ps做出 ...

  3. jQuery精仿手机上的翻牌效果菜单

    代码简介: jQuery精仿手机上的翻牌效果菜单,很平滑的动画翻牌效果,每点击一下菜单,就会翻去一下,貌似很灵敏的动作.注意:如果预览时没看到效果,请刷新一下页面,让jquery载入就行了,在实际使用 ...

  4. 【JQuery插件】扑克正反面翻牌效果

    里面有两个demo,支持X横向和Y纵向翻转两个效果. 对元素的布局有一定的讲究,需要分析一下demo的css. 默认翻转速度为80,不要大于100ms. <!DOCTYPE> <ht ...

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

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

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

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

  7. js拖拽效果

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

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

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

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

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

随机推荐

  1. saltStack 证书管理

    SaltStack 使用 SSL 签证的方式进行安全认证,我们可以在 Master 端看到 Minion 端的整数签证请求 1.查看当前证书签证情况 [root@SaltStack-Master ~] ...

  2. [luogu3601]签到题

    [luogu3601]签到题 luogu 求\[\sum_{i=l}^ri-\phi(i)\] 一个朴素的想法是枚举l~r,根号求\(\phi\),显然这样是\((r-l)\sqrt r\),时间无法 ...

  3. Python过滤

    text = "A2A"s = filter(lambda ch: ch in '0123456789', text)print int(s)

  4. Linux入门基础(四)——磁盘管理

  5. 第一篇 css导入方式 及选择器

    一 推荐资料 推荐书籍 css Zen Garden 中文(css禅意花园) 二.css样式 1.css样式表特征 继承性  大多数css的样式规则可以被继承 层叠性 1)可以定义 多个样式 2)不冲 ...

  6. 解决COMODO Internet Security更新慢或失败的问题

    方法一: COMODO 默认更新服务器只有一个:http://download.comodo.com/ 我电信网络更新速度非常慢: 实在没有办法了,找到了几个更新服务器: http://eu1.dow ...

  7. scp的用法

    scp是有Security的文件copy,基于ssh登录.命令基本格式:scp [OPTIONS] file_source file_target OPTIONS:-v 和大多数 linux 命令中的 ...

  8. BioNLP概述

    BioNLP概述 工具: GENIA Tagger:GENIA Tagger是一个主要应用于生物医学文本领域的词性标注和浅层语法分析工具,GENIA Tagger在GENIA语料上的词性标记性能F-s ...

  9. CSS缎带效果

    1. [代码]ribbon.html     <!DOCTYPE HTML><html><head><style type="text/css&qu ...

  10. 关于float与double区别

    Problem A: 啤酒和饮料 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 175  Solved: 29 [Submit][Status][We ...