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 相关文章推荐
onpropertypchange
Jul 01 Javascript
用js实现下载远程文件并保存在本地的脚本
May 06 Javascript
用javascript做拖动布局的思路
May 31 Javascript
js压缩工具 yuicompressor 使用教程
Mar 31 Javascript
firefox下frameset取不到值的解决方法
Sep 06 Javascript
jQuery操作cookie方法实例教程
Nov 25 Javascript
js正则表达式匹配数字字母下划线等
Apr 14 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
Nov 21 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
详谈commonjs模块与es6模块的区别
Oct 18 Javascript
js实现页面图片消除效果
Mar 24 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获取域名的google收录示例
2014/03/24 PHP
php发送与接收流文件的方法
2015/02/11 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
PHP数据对象PDO操作技巧小结
2016/09/27 PHP
php头像上传预览实例代码
2017/05/02 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
使用Python对SQLite数据库操作
2017/04/06 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
结婚喜宴家长答谢词
2014/01/15 职场文书
拉拉队口号
2014/06/16 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
求职信范文怎么写
2015/03/19 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
幽默导游词开场白
2015/05/29 职场文书
python基础之文件处理知识总结
2021/05/23 Python
PostgreSQL常用字符串分割函数整理汇总
2022/07/07 PostgreSQL
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python