先上效果图

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
#content{
width: 500px;
height: 300px;
margin: 40px auto;
position: relative;
transform-style: preserve-3d;
}
#content>div{
width: 100%;
height: 100%;
position: absolute;
transform-origin: center bottom;
}
#content img{
width: 100%;
height: 100%;
}
#next{
position: absolute;
top:190px;
left: calc(33% - 60px);
}
#prev{
position: absolute;
top: 190px;
left: calc(68% + 30px);
}
@keyframes next{ //创建一个动画这是一个翻到下面的效果
from{
-wbelit-transform: perspective(1000px) rotateX(0deg); /* 开始位置是 0°*/
opacity: 1; //初始透明为1
}
to{
-webkit-transform: perspective(1000px) rotateX(-180deg); /*结束位置是 180°*/
opacity: 0; //结束透明为0
}
}
@keyframes prev{ //创建一个由上边翻到上边的动画
0%{
-webkit-transform: perspective(1000px) rotateX(180deg); /* 初始开始位置 */
opacity:0; //初始为透明
}
57%
{
-webkit-transform: perspective(1000px) rotateX(-16deg); /* 动画进行到 56% 的时候他为 -16° */
opacity:1; //透明已经为1 了
}
66%
{
-webkit-transform: perspective(1000px) rotateX(14deg); /* 再回到 14° 的位置 */
}
74%
{
-webkit-transform: perspective(1000px) rotateX(-12deg); /* 再回到 -12°的位置 */
}
81%
{
-webkit-transform: perspective(1000px) rotateX(10deg); /* 再回到 10°的位置 */
}
87%
{
-webkit-transform: perspective(1000px) rotateX(-8deg); /* 再回到 -8°的位置 */
}
92%
{
-webkit-transform: perspective(1000px) rotateX(6deg); /* 再回到 6° 的位置 */
}
96%
{
-webkit-transform: perspective(1000px) rotateX(-4deg); /* 再回到 -4° 的位置 */
}
100%
{
-webkit-transform: perspective(1000px) rotateX(0deg); /* 最后回归 0° */
}
                                        
}
.next{
animation: next 1s ease 1 normal 0s; /* 执行向下的动画 */
transform: rotateX(-180deg); /* 因为初始位置是0 但当你执行完动画还会回到原位 所以它转到哪里就把他设在哪里不要再让它回去了 */
opacity: 0;
}
.prev{
animation: prev 1.2s ease 1 normal 0s; /* 执行向上的动画 */
transform: rotateX(0deg); /* 同上 */
opacity: 1;
}
</style>
</head>
<body>
<button id="next">←</button><button id="prev">→</button>
<div id="content">
<div class="prev"><img src="data:images/012.jpeg"></div> <!-- 设置默认的第一页 -->
<div class="next"><img src="data:images/017.jpeg"></div>
<div class="next"><img src="data:images/020.jpeg"></div>
<div class="next"><img src="data:images/027.jpeg"></div>
<div class="next"><img src="data:images/0df3d7ca7bcb0a46ce09bc1e6e63f6246b60afe9.jpg"></div>
</div> <script>
window.onload=function(){
var next=document.getElementById("next");
var prev=document.getElementById("prev");
var content=document.getElementById("content");
var oDiv=content.getElementsByTagName("div");
var x=0;
next.onclick=function(){ //当向下翻页时
oDiv[x].setAttribute("class","next"); //第一个页 设置class名让他向下走去
x++
if(x>oDiv.length-1){
x=0
}
oDiv[x].setAttribute("class","prev"); //++过后让他的下一个页面起来
} prev.onclick=function(){ //同上只是++变--
oDiv[x].setAttribute("class","next");
x--
if(x<0){
x=oDiv.length-1
}
oDiv[x].setAttribute("class","prev");
} }
</script>
</body>
</html>

  

css3+javascript实现翻页幻灯片的更多相关文章

  1. JAVASCRIPT实现翻页保存已勾选的项目

    <input type="checkbox" name="a" value="1" /><br/> <inpu ...

  2. CSS3——制作图片翻页的小动画

    觉得还挺有意思的嘻嘻~ 这里有一个问题要注意一下,图片反转过程中可能会遇到一种如下所示的跳变bug: 这玩意一出来吓我一大跳,显然这种用户体验是很不好的,解决方法: 在.pic, .info{...} ...

  3. jquery css3问卷答题卡翻页动画效果

    这个选项调查的特效以选项卡的形式,每答完一道题目自动切换到下一条,颇具特色.使用jQuery和CSS3,适合HTML5浏览器. 效果展示 http://hovertree.com/texiao/jqu ...

  4. 15个最佳jQuery的翻页书效果的例子

    在这里,你会发现15的jQuery的翻页书的插件,提供了良好的页面翻转的经验,并帮助创建类似书本的效果. jQuery的增添了一道亮丽的过渡到实际的页面在一本书或杂志HTML5. 1. BookBlo ...

  5. 6个超炫酷的HTML5电子书翻页动画

    相信大家一定遇到过一些电子书网站,我们可以通过像看书一样翻页来浏览电子书的内容.今天我们要分享的HTML5应用跟电子书翻页有关,我们精选出来的6个电子书翻页动画都非常炫酷,而且都提供源码下载,有需要的 ...

  6. css3 --- 翻页动画 --- javascript --- 3d --- Action

    用css3和javascript做一个翻页动画<Action> 如有疑问请参照我的上一篇随笔:http://www.cnblogs.com/kodoyang/p/Html_Css3_Car ...

  7. css3 --- 翻页动画 --- javascript --- 3d --- 准备

    用css3和javascript做一个翻页动画<知识准备部分> 如有更多疑问请参照:http://www.imooc.com/learn/77 这是用css3的-webkit-transi ...

  8. [原创]纯CSS3打造的3D翻页翻转特效

    刚接触CSS3动画,心血来潮实现了一个心目中自己设计的翻页效果的3D动画,页面纯CSS3,目前只能在Chrome中玩,理论上可以支持Safari. 1. 新建HTML,代码如下(数据和翻页后的数据都是 ...

  9. css3实现翻页卡片

    css3 实现翻页卡片 应用场景挺多的,比如产品信息展示 效果如下 jsfiddle demo transform perspective backface-visibility transform- ...

随机推荐

  1. vue2.0用法技巧汇总

    1.class拼接: 2.select下拉截取: <template> <!--vip班支付报名页面--> <div id="payRecordMain&quo ...

  2. 【性能测试】:关于loadrunner11录制Chrome浏览器脚本的方法

    有些web端的程序只能通过chrome访问,如果用lr11录制的话,会抓不到包, 现在教一种方法,可以抓到包的,主体思路就是设置代理,让报文流量绕道走一下 一,在LR中的设置: 从菜单Tools-Re ...

  3. Linux快速查看某条命令的版本和存放的位置(ls -l `which mvn`)

    输入: ls -l `which mvn` 如图:

  4. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  5. Visual Studio 跨平台開發實戰(3) - Xamarin iOS 多頁面應用程式開發 (转帖)

    前言 在前一篇教學中, 我們學會如何使用Visual Studio 搭配Xcode 進行iOS基本控制項的操作. 但都是屬於單一畫面的應用程式. 這次我們要來練習如何透過Navigation Cont ...

  6. SpringSecurity之记住我功能的实现

    Spring security记住我基本原理: 登录的时候,请求发送给过滤器UsernamePasswordAuthenticationFilter,当该过滤器认证成功后,会调用RememberMeS ...

  7. 《Algorithm算法》笔记:元素排序(2)——希尔排序

    <Algorithm算法>笔记:元素排序(2)——希尔排序 Algorithm算法笔记元素排序2希尔排序 希尔排序思想 为什么是插入排序 h的确定方法 希尔排序的特点 代码 有关排序的介绍 ...

  8. 关于Java 下 Snappy压缩存文件

    坑点: 压缩后的byte 数组中会有元素是负数,如果转化成String 存入文件,然后再读取解压缩还原,无法得到原来的结果,甚至是无法解压缩. 原因分析: String 底层是由char 数组构成的, ...

  9. HTML5 表单 中

    input 属性 autofocus 页面加载时自动获得焦点 required   非空字段输入框 placeholder 提供一种提示(hint),输入域为空时显示. pattern 规定验证inp ...

  10. MySQL数据库-错误1166 - Incorrect column name 'xxx' 的解决方法

    在用Navicat for MySQL给MySQL数据库修改表的字段时报如下的错误: 解决方法:检查字段里面是不是有空格,去掉就可以了.