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 自定义字体font-face使用介绍
May 14 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
Feb 29 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
Nov 16 HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
Sep 25 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
Jan 15 HTML / CSS
基于HTML5的WebSocket的实例代码
Aug 15 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
Jan 01 HTML / CSS
html5+css3进度条倒计时动画特效代码【推荐】
Mar 08 HTML / CSS
HTML5 3D旋转相册的实现示例
Dec 03 HTML / CSS
浅析HTML5 Landmark
Sep 11 HTML / CSS
奇妙的 CSS shapes(CSS图形)
Apr 05 HTML / CSS
CSS变量实现主题切换的方法
Jun 23 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
ADODB的数据库封包程序库
2006/12/31 PHP
PHP Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
对python中return与yield的区别详解
2020/03/12 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
python的setattr函数实例用法
2020/12/16 Python
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
艺术用品:Arteza
2018/11/25 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
个人能力自我鉴赏
2014/01/25 职场文书
学生感冒英文请假条
2014/02/04 职场文书
学生偷窃检讨书
2014/09/25 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
商超业务员岗位职责
2015/02/13 职场文书
汉语拼音教学反思
2016/02/22 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
MySQL如何使备份得数据保持一致
2022/05/02 MySQL