html5菜单折纸效果


Posted in HTML / CSS onApril 22, 2014

类似猎豹浏览器安装时的用户须知效果。

html5菜单折纸效果

点击后效果

html5菜单折纸效果

复制代码
代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fold paper effect by gt-柯乐义</title>
<style>
#wrapper {
-webkit-perspective: 55cm;
-webkit-perspective-origin: 50% 50%;
text-align: center;
}
.paper {
position: relative;
height: 40px;
width: 5em;
margin: 0;
background-color: aqua;
-webkit-transition: -webkit-transform 1s linear;
}
</style>
<script type="text/javascript">
window.angel = 0;
window.timer;
function fold() {
var foldUp = document.getElementById("foldUp");
var foldDown = document.getElementById("foldDown");
var down = document.getElementById("down");
if (window.angel == 0) {
window.timer = setInterval(function() {
var diff = different(-1, 20);
console.log(foldUp.offsetTop)
move(foldUp, diff, 1);
move(foldDown, diff, 3);
move(down, diff, 4);
}, 40);
setTimeout(function() {
clearInterval(window.timer);
foldUp.style.top = "-20px";
foldDown.style.top = "-60px";
down.style.top = "-80px";
window.angel = -90;
}, 1030);
foldUp.style.webkitTransform = "rotateX(-90deg)";
foldDown.style.webkitTransform = "rotateX(90deg)";
} else if (angel == -90) {
window.timer = setInterval(function() {
var diff = different(1, 20);
console.log(foldUp.offsetTop)
move(foldUp, diff, 1);
move(foldDown, diff, 3);
move(down, diff, 4);
}, 40);
setTimeout(function() {
clearInterval(window.timer);
foldUp.style.top = "0";
foldDown.style.top = "0";
down.style.top = "0";
window.angel = 0;
}, 1030);
foldUp.style.webkitTransform = "rotateX(0deg)";
foldDown.style.webkitTransform = "rotateX(0deg)";
} else {
console.log(window.angel)
}
}
function positionValue(div, type) {// 得到css带单位的值
var str = div.style[type];
str = str.substring(0, str.length - 2);
var value = parseInt(str);
if (isNaN(value)) {
value = 0;
}
return value;
}
function move(div, different, time) {
var top = positionValue(div, "top");
div.style.top = top + different * time + "px";
}
function different(direction, height) {
var lastAngel = window.angel;
window.angel += 3.6 * direction;
var different = Math
.ceil((Math.cos(window.angel / 180 * Math.PI) - Math
.cos(lastAngel / 180 * Math.PI))
* height * 100) / 100;
return different;
}
</script>
</head>
<body>
<div id="wrapper">
<div id="up" class="paper">
g
</div>
<div id="foldUp" class="paper">
n
</div>
<div id="foldDown" class="paper">
b
</div>
<div id="down" class="paper">
t
</div>
</div>
<button onclick=fold();>
fold
</button>
</body>
</html>
HTML / CSS 相关文章推荐
你应该知道的30个css选择器
Mar 19 HTML / CSS
利用css3实现的简单的鼠标悬停按钮
Nov 04 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
Dec 29 HTML / CSS
纯CSS3代码实现文字描边
Apr 25 HTML / CSS
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
Dec 30 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
Jul 06 HTML / CSS
html5的新玩法——语音搜索
Jan 03 HTML / CSS
html5 Canvas画图教程(1)—画图的基本常识
Jan 09 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
Jul 02 HTML / CSS
html5的canvas实现3d雪花飘舞效果
Dec 27 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
Mar 19 HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
Jun 21 HTML / CSS
html5读取本地文件示例代码
Apr 22 #HTML / CSS
使用html5制作loading图的示例
Apr 14 #HTML / CSS
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
Apr 14 #HTML / CSS
html5图片上传预览示例分享
Apr 14 #HTML / CSS
HTML5 Canvas锯齿图代码实例
Apr 10 #HTML / CSS
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
Apr 10 #HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
Apr 10 #HTML / CSS
You might like
人大复印资料处理程序_输入篇
2006/10/09 PHP
PHP 字符串操作入门教程
2006/12/06 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
tensorflow之变量初始化(tf.Variable)使用详解
2020/02/06 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
播音主持女孩的自我评价分享
2013/11/20 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
消防志愿者活动方案
2014/08/23 职场文书
2014教师年度工作总结
2014/11/10 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL