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 相关文章推荐
JS定时关闭窗口的实例
May 22 Javascript
jquery实现点击页面计算点击次数
Jan 23 Javascript
javascript实现将文件保存到本地方法汇总
Jul 26 Javascript
用JavaScript获取页面文档内容的实现代码
Jun 10 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
Nov 09 Javascript
详解Javascript几种跨域方式总结
Feb 27 Javascript
Node.js连接mongodb实例代码
Jun 06 Javascript
swiper 自动图片无限轮播实现代码
May 21 Javascript
Vue 让元素抖动/摆动起来的实现代码
May 31 Javascript
angular2 组件之间通过service互相传递的实例
Sep 30 Javascript
vue.js实现备忘录demo
Jun 26 Javascript
Node.js之删除文件夹(含递归删除)代码实例
Sep 09 Javascript
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』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
JS完成代码前最好对其做5件事
2013/04/07 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
SVG描边动画
2017/02/23 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python求素数示例分享
2014/02/16 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
简单了解python代码优化小技巧
2019/07/08 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
详解Python文件修改的两种方式
2019/08/22 Python
使用Python实现分别输出每个数组
2019/12/06 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
试用期员工考核制度
2014/01/22 职场文书
新品发布会主持词
2014/04/02 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
党支部活动策划方案
2014/08/18 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
听证会主持词
2015/07/03 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL