js实现3D切换效果
今天分享一个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切换效果的更多相关文章
- 用html+css+js实现选项卡切换效果
文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材 ...
- Vue.js实现tab切换效果
利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思 ...
- 用js实现选项卡切换效果
这是要实现的效果图: 一.HTML页面布局 <!-- HTML页面布局 --><ul class="tab_menu"> <li class=&quo ...
- JS实现选项卡切换效果
1.在网页制作过程中,我们经常会用到选项卡切换效果,它能够让我们的网页在交互和布局上都能得到提升 原理:在布局好选项卡的HTML结构后,我们可以看的出来,选项卡实际上是三个选项卡标头和三个对应的版块, ...
- Js 实现tab切换效果
今天商城系统的后台要添加一个Tab切换的效果,一开始没有思路想要自己去实践这个效果 从网上找jquery 已经有了很好看的案例,实现之后我来学习下思路是如何完成的
- [前端] html+css+javascript 实现选项卡切换效果
用html+css+js实现选项卡切换效果使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材:房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安 ...
- JS图片Switchable切换大集合
JS图片切换大集合 利用周末2天把JS图片切换常见效果封装了下,比如:轮播,显示隐藏,淡入淡出等.废话不多说,直接看效果吧!JSFiddler链接如下: 想看JS轮播切换效果请点击我! 当然由于上传图 ...
- jquery.roundabout.js实现3D图片层叠旋转木马切换
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js. 兼容性如图: html结构代码: <div id="featured-area& ...
- js鼠标滚轮滚动图片切换效果
效果体验网址:http://keleyi.com/keleyi/phtml/image/12.htm HTML文件代码: <!DOCTYPE html PUBLIC "-//W3C// ...
随机推荐
- PWN菜鸡入门之栈溢出(1)
栈溢出 一.基本概念: 函数调用栈情况见链接 基本准备: bss段可执行检测: gef➤ b main Breakpoint at . gef➤ r Starting program: /mnt/ ...
- 微信小程序商城 带java后台源码
微信小程序商城(Java版) 演示地址 账号:admin 密码:admin 小程序体验码: 技术选型 1 后端使用技术 1.1 springframework4.3.7.RELEASE 1.2 myb ...
- 【过时】update progress has encountered a problem解决办法
笔者第二次整理博客,已经抛弃MyEclipse了,我将公司项目转换成了idea的目录结构后大家都改换Idea进行开发,虽然我个人比较喜欢eclipse的简洁干净,但是Idea的确有很多方便开发的新功能 ...
- rbash限制用户执行的命令
rbash限制用户执行的命令 软连接 sudo ln -s /bin/bash /bin/rbash sudo bash -c 'echo "/bin/rbash" >> ...
- Android 上传开源项目到 jcenter 实战踩坑之路
本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...
- docker命令总结
用 docker pull 拉取镜像 root@lishichao-virtual-machine:~# docker pull hello-world Using default tag: late ...
- 使用vue-print-nb插件页面空白以及打印没有样式问题
在使用vue-print-nb中遇到两个问题: 第一个问题:点击打印后,打印的内容是一片空白 vue-print-nb的原理大概是在你的页面上创建一个iframe,然后把你要打印的那一个div抓出来给 ...
- 003-python基础-字符类型
基本数据类型(int,bool,str) 1.基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放 ...
- Spring Boot + Elasticsearch实现大批量数据集下中文的精确匹配-案例剖析
缘由 数据存储在MYSQ库中,数据基本维持不变,但数据量又较大(几千万)放在MYSQL中查询效率上较慢,寻求一种简单有效的方式提高查询效率,MYSQL并不擅长大规模数据量下的数据查询. 技术方案 考虑 ...
- AWS S3 上传文件
一.获取签名的URL 通过后端给的接口拿到已经签名好的文件上传的URL地址 二.读取文件(注:AWS 接受的二进制,不能使用form-data) // 获取文件二进制 getFileMd5 = (ke ...