今天分享一个3d翻转动画效果,js+css3+h5实现,没有框架。

先看下html部分:

 <div class="box">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<span class="arrow-left">上一页</span>
<span class="arrow-right">下一页</span>
</div>

一个父容器,里面包裹一个ul,然后用li存放5张自己喜欢的图片

下面是css3部分:

<style>
*{
margin: 0;
padding: 0;
list-style: none;
}
.box{
width: 300px;
height: 300px;
margin: 100px auto;
position: relative;
}
ul{
width: 100%;
height: 100%;
box-sizing: border-box;
position: relative;
transform-style: preserve-3d;
transition: all 1s;
}
ul li{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-size: 100% 100%;
} li:nth-child(1){
background-image: url("3.jpg");
transform: translateZ(150px);
}
li:nth-child(2){
background-image: url("4.jpg");
transform: rotateX(90deg) translateZ(150px);
}
li:nth-child(3){
background-image: url("5.jpg");
transform: rotateX(180deg) translateZ(150px);
}
li:nth-child(4){
background-image: url("6.jpg");
transform: rotateX(270deg) translateZ(150px);
}
.arrow-left,.arrow-right{
width: 50px;
height: 50px;
background-color: #ff254a;
border-radius: 5px;
text-align: center;
cursor: pointer;
}
.arrow-left{
position: absolute;
top: 50%;
transform: translateY(-50%);
left: -50px;
line-height: 50px;
}
.arrow-right{
position: absolute;
top: 50%;
transform: translateY(-50%);
right: -50px;
line-height: 50px;
}
</style>

里面主要用到css3的 transform3d旋转 和 transition的过度动画。“transform-style: preserve-3d;”这句话一定要写在动画的父容器里面,否则3d效果看不出来。

下面贴出js部分:

 <script>
var btnleft = document.querySelector(".arrow-left");
var btnright = document.querySelector(".arrow-right");
var ul = document.querySelector("ul"); var index = 0;
btnleft.addEventListener("click",function () {
index++;
ul.style.transform = "rotateX("+(index * 90)+"deg)";
})
btnright.addEventListener("click",function () {
index--;
ul.style.transform = "rotateX("+(index * 90)+"deg)";
})
</script>

里面主要就是操作点击事件和动态控制照片旋转效果。

最后,大家可以新建一个html文件,把上面3个部分直接拷贝,可以直接在浏览器运行。

js实现3D切换效果的更多相关文章

  1. 用html+css+js实现选项卡切换效果

    文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材 ...

  2. Vue.js实现tab切换效果

    利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思 ...

  3. 用js实现选项卡切换效果

    这是要实现的效果图: 一.HTML页面布局 <!-- HTML页面布局 --><ul class="tab_menu"> <li class=&quo ...

  4. JS实现选项卡切换效果

    1.在网页制作过程中,我们经常会用到选项卡切换效果,它能够让我们的网页在交互和布局上都能得到提升 原理:在布局好选项卡的HTML结构后,我们可以看的出来,选项卡实际上是三个选项卡标头和三个对应的版块, ...

  5. Js 实现tab切换效果

    今天商城系统的后台要添加一个Tab切换的效果,一开始没有思路想要自己去实践这个效果 从网上找jquery 已经有了很好看的案例,实现之后我来学习下思路是如何完成的

  6. [前端] html+css+javascript 实现选项卡切换效果

    用html+css+js实现选项卡切换效果使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材:房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安 ...

  7. JS图片Switchable切换大集合

    JS图片切换大集合 利用周末2天把JS图片切换常见效果封装了下,比如:轮播,显示隐藏,淡入淡出等.废话不多说,直接看效果吧!JSFiddler链接如下: 想看JS轮播切换效果请点击我! 当然由于上传图 ...

  8. jquery.roundabout.js实现3D图片层叠旋转木马切换

    最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js. 兼容性如图: html结构代码: <div id="featured-area& ...

  9. js鼠标滚轮滚动图片切换效果

    效果体验网址:http://keleyi.com/keleyi/phtml/image/12.htm HTML文件代码: <!DOCTYPE html PUBLIC "-//W3C// ...

随机推荐

  1. 直播技术:从性能参数到业务大数据,浅谈直播CDN服务监控

    线上服务的有效监控和数据收集,一直是后端服务离不开的话题.直播作为一种经典的分布式系统,监控以及数据收集更是必不可少的工作.如何对海量的服务集群有效的监控和保活,又如何抓取集群中的碎片数据中来优化服务 ...

  2. Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...

  3. 算法与数据结构基础 - 队列(Queue)

    队列基础 队列具有“先进先出”的特点,用这个特点我们可以用它来处理时间序列相关或先后次序相关的问题,例如 LeetCode题目 933. Number of Recent Calls,时间复杂度O(1 ...

  4. webpack打包工具的初级使用方法

    这里下载的是webpack的3.8.1版本(新版更新的使用有些问题) 什么是webpack? 他是一个前端资源加载或打包工具,. 资源: img css json等. 下载的话 用 npm webpa ...

  5. 在linux中,&和&&, |和|| ,&> 与 >的区别

    对应刚接触linux命令的小伙伴们来说,这些符号一定是很困扰的下面我们一起来看这些符号区别和用法 & 表示任务在后台执行,如要在后台运行 如: [root@localhost local]# ...

  6. vue.js 解决跨域问题

    我们调试vue.js代码的时候一般都用chrome, 下载插件 进入chrome应用商店 搜索 重启chrome就可以解决跨域问题

  7. webpack-dev-server 小记 原理介绍 概念解读

    使用 DevServer 提供 HTTP 服务而不是使用本地文件预览 监听文件的变化并自动刷新网页,做到实时预览 支持 Source Map,以方便调试 对于这些,Webpack 都为我们考虑好了.W ...

  8. 使用gets函数常见问题

    C语言面试经常会考如下一道题,哪里有错误: #include <stdio.h>    int main()  {     char string[100] = {'\0'};       ...

  9. JavaScript入门小案例

    笔记: <!-- JavaScript的特点: 1.基于对象和事件驱动 JavaScript把HTML页面中的每一个元素都当做一个对象来处理,并且这些对象都具有层次关系, 像一颗倒立的树,这种关 ...

  10. SSAS 多维/表格设计模型--事实表与维表的关联

    表格设计模型中,同多维设计模型相似, 维表和事实表相互独立,通过关系数据库中的外键来联系,互相关联构成一个统一的架构. DB中外键是需要唯一性约束的,即A表某列建立主键或者唯一键后,B表才可以引用为外 ...