js实现3D图片展示效果


Posted in Javascript onMarch 09, 2017

点击左上角的按钮前后切换

效果图:

js实现3D图片展示效果

代码如下:

<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Title</title>
<style>
*{margin:0; padding:0; list-style:none;}
ul{ 
 width:300px; 
 height:300px;
 margin:100px auto;
 position:relative;
 -webkit-transform-style:preserve-3d;
 perspective:800px;
}
ul li{
 position:absolute;
 top:0; left:0;
 width:100%;
 height:100%;
 text-align:center;
 line-height:300px;
 font-size:50px;
 background:#399;
 border:1px solid #000;
 opacity:0;
}
.l2{
 opacity:0;
 -webkit-transform: translate(-280px,0) rotateY(45deg);
 z-index:3;
}
.l1{
 opacity:1;
 -webkit-transform: translate(-220px,0) rotateY(45deg);
 z-index:4;
}
.cur{ 
 opacity:1;
 -webkit-transform:translateZ(50px);
 z-index:5;
}
.r1{
 opacity:1;
 -webkit-transform: translate(220px,0) rotateY(-45deg);
 z-index:4;
}
.r2{
 opacity:0;
 -webkit-transform: translate(280px,0) rotateY(-45deg);
 z-index:3;
}
</style>
<script>
window.onload = function(){
 var oPrev = document.querySelector('.prev_btn');
 var oNext = document.querySelector('.next_btn');
 var aLi = document.querySelectorAll('ul li');
 var aClass = [];
 for(var i=0;i<aLi.length;i++){
 aClass[i] = aLi[i].className;
 }
 var bOk = false;
 oPrev.onclick = function(){
 if(bOk)return;
 bOk = true;
 aClass.push(aClass.shift());
 change();
 };
 oNext.onclick = function(){
 if(bOk)return;
 bOk = true;
 aClass.unshift(aClass.pop());
 change();
 };
 function change(){
 for(var i=0;i<aLi.length;i++){
 aLi[i].style.WebkitTransition = '.5s all ease';

 aLi[i].className = aClass[i];
 }
 var oCur = document.querySelector('.cur');
 function tranEnd(){
 oCur.removeEventListener('transitionend',tranEnd,false);
 bOk = false;
 }
 oCur.addEventListener('transitionend',tranEnd,false);
 }
};
</script>
</head>
<body>
 <input type="button" value="prev" class="prev_btn" />
 <input type="button" value="next" class="next_btn" />
 <ul>
 <li class="l2">0</li>
 <li class="l1">1</li>
 <li class="cur">2</li>
 <li class="r1">3</li>
 <li class="r2">4</li>
 <li>5</li>
 <li>6</li>
 <li>7</li>
 <li>8</li>
 <li>9</li>
 <li>10</li>
 <li>11</li>
 <li>12</li>
 <li>13</li>
 </ul>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
传智播客学习之JavaScript基础篇
Nov 13 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 Javascript
jquery得到iframe src属性值的方法
Sep 25 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
Sep 14 Javascript
全面了解函数声明与函数表达式、变量提升
Aug 09 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 Javascript
JavaScript中this的全面解析及常见实例
May 14 Javascript
layui实现数据表格自定义数据项
Oct 26 Javascript
jQuery实现验证用户登录
Dec 10 jQuery
JavaScript实现左右下拉框动态增删示例
Mar 09 #Javascript
less简单入门(CSS 预处理语言)
Mar 08 #Javascript
完美实现js选项卡切换效果(二)
Mar 08 #Javascript
微信小程序中用WebStorm使用LESS
Mar 08 #Javascript
Vue常用指令V-model用法
Mar 08 #Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
Mar 08 #Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 #Javascript
You might like
PHP 程序员的调试技术小结
2009/11/15 PHP
PHP MemCached 高级缓存应用代码
2010/08/05 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
PHP模块memcached使用指南
2014/12/08 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
js从10种颜色中随机取色实现每次取出不同的颜色
2013/10/23 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
python中的格式化输出用法总结
2016/07/28 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
python 通过exifread读取照片信息
2020/12/24 Python
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
大学生实习感言
2014/01/16 职场文书
大学生自我评价范文分享
2014/02/21 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python