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 相关文章推荐
jquery的颜色选择插件实例代码
Oct 02 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
JS实现的网页倒计时数字时钟效果
Mar 02 Javascript
JS实现的最简Table选项卡效果
Oct 14 Javascript
详解JavaScript对象和数组
Dec 03 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
Oct 28 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
Aug 09 Javascript
vue.js语法及常用指令
Oct 29 Javascript
轻松学习JavaScript函数中的 Rest 参数
May 30 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
Aug 07 Javascript
vue页面更新patch的实现示例
Mar 25 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 配置文件中open_basedir选项作用
2009/07/19 PHP
php中smarty区域循环的方法
2015/06/11 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
python如何为创建大量实例节省内存
2018/03/20 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
厨房工作人员岗位职责
2013/11/15 职场文书
品质主管的岗位职责
2013/12/04 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
数字化校园建设方案
2014/05/03 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
人民币符号
2022/02/17 杂记
golang使用map实现去除重复数组
2022/04/14 Golang