CSS3+JavaScript实现翻页幻灯片效果


Posted in Javascript onJune 28, 2017

先上效果图

CSS3+JavaScript实现翻页幻灯片效果

<!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° */
        }<br>



















      }
      .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="images/012.jpeg"></div> <!-- 设置默认的第一页 -->
      <div class="next"><img src="images/017.jpeg"></div>
      <div class="next"><img src="images/020.jpeg"></div>
      <div class="next"><img src="images/027.jpeg"></div>
      <div class="next"><img src="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实现翻页幻灯片效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery选择器的工作原理和优化分析
Jul 25 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
Nov 14 Javascript
PHP中使用微秒计算脚本执行时间例子
Nov 19 Javascript
JavaScript实现网站访问次数统计代码
Aug 12 Javascript
详解javascript高级定时器
Dec 31 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
Markdown+Bootstrap图片自适应属性详解
May 21 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
angularJS 指令封装回到顶部示例详解
Jan 22 Javascript
jQuery remove()过滤被删除的元素(推荐)
Jul 18 jQuery
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
Node.js 8 中的重要新特性
Jun 28 #Javascript
Angular排序实例详解
Jun 28 #Javascript
基于JS对象创建常用方式及原理分析
Jun 28 #Javascript
Node.js实现文件上传的示例
Jun 28 #Javascript
iscroll-probe实现下拉刷新和下拉加载效果
Jun 28 #Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 #Javascript
JS中把函数作为另一函数的参数传递方法(总结)
Jun 28 #Javascript
You might like
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
深入理解node.js http模块
2018/01/24 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
理解Python中的With语句
2016/03/18 Python
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
python之yield和Generator深入解析
2019/09/18 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
浅析Python迭代器的高级用法
2020/07/16 Python
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
WiFi云数码相框:Nixplay
2018/07/05 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
2015年党员岗位承诺书
2015/04/27 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
数学备课组工作总结
2015/08/12 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript