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 相关文章推荐
CSS中一些@规则的用法小结
Mar 09 HTML / CSS
css3 iphone玻璃透明气泡完美实现
Mar 20 HTML / CSS
CSS3 Flexbox中flex-shrink属性的用法示例介绍
Dec 30 HTML / CSS
CSS3实现多背景模拟动态边框的效果
Nov 08 HTML / CSS
Html5 Canvas 实现一个“刮刮乐”游戏
Sep 05 HTML / CSS
HTML5 对各个标签的定义与规定:body的介绍
Jun 21 HTML / CSS
HTML5中Localstorage的使用教程
Jul 09 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
Jun 27 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
Jul 31 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
Nov 19 HTML / CSS
完美实现CSS垂直居中的11种方法
Mar 27 HTML / CSS
HTML常用标签超详细整理
Mar 19 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
PHP中基本符号及使用方法
2010/03/23 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
python 获取文件列表(或是目录例表)
2009/03/25 Python
python检测远程udp端口是否打开的方法
2015/03/14 Python
python实现实时监控文件的方法
2016/08/26 Python
Python扩展内置类型详解
2018/03/26 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
HTML5实现一个能够移动的小坦克示例代码
2013/09/02 HTML / CSS
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
有针对性的求职自荐信
2013/11/14 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
旅游文化节策划方案
2014/06/06 职场文书
企业文化口号
2014/06/12 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL