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 相关文章推荐
CSS3实战第一波 让我们尽情的圆角吧
Aug 27 HTML / CSS
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
Oct 11 HTML / CSS
CSS3 Calc实现滚动条出现页面不跳动问题
Sep 14 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
Apr 11 HTML / CSS
html5仿支付宝密码框的实现代码
Sep 06 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
Jan 16 HTML / CSS
html5 input属性使用示例
Jun 28 HTML / CSS
html5 canvas实现圆形时钟代码分享
Dec 25 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
Jul 26 HTML / CSS
HTML5 新增内容和 API详解
Nov 17 HTML / CSS
html5+实现plus.io进行拍照和图片等获取
Jun 01 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
第四章 php数学运算
2011/12/30 PHP
PHP得到mssql的存储过程的输出参数功能实现
2012/11/23 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
一段实时更新的时间代码
2006/07/07 Javascript
js跳转页面方法总结
2014/01/29 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python中的编码知识整理汇总
2016/01/26 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
django 模型字段设置默认值代码
2020/07/15 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
教师绩效工资方案
2014/02/01 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
小学假期安全广播稿
2014/09/28 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python
nginx 配置指令之location使用详解
2022/05/25 Servers