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 相关文章推荐
JavaScript 入门基础知识 想学习js的朋友可以参考下
Dec 26 Javascript
jQuery判断复选框是否勾选的原理及示例
May 21 Javascript
jQuery实现鼠标划过添加和删除class的方法
Jun 26 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
Feb 25 Javascript
Nginx设置为Node.js的前端服务器方法总结
Mar 27 Javascript
如何根据业务封装自己的功能组件
Apr 19 Javascript
layer父页获取弹出层输入框里面的值方法
Sep 02 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 Javascript
全面解析JavaScript Module模式
Jul 24 Javascript
微信小程序实现自定义底部导航
Nov 18 Javascript
vue3.0中友好使用antdv示例详解
Jan 05 Vue.js
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下使用SimpleXML 处理XML 文件
2010/02/27 PHP
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
php分页代码学习示例分享
2014/02/20 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
js实现表格数据搜索
2020/08/09 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
详解Python使用tensorflow入门指南
2018/02/09 Python
python将list转为matrix的方法
2018/12/12 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
美国最佳选择产品网站:Best Choice Products
2019/05/27 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
应届生学校辅导员求职信
2013/11/07 职场文书
历史专业个人求职信范文
2013/12/07 职场文书
村党支部公开承诺书
2014/05/29 职场文书
入党函调证明材料
2014/12/24 职场文书
张丽莉观后感
2015/06/16 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
python数字图像处理之图像的批量处理
2022/06/28 Python