原生js和css实现图片轮播效果


Posted in Javascript onFebruary 07, 2017

本文实例为大家分享了javascript图片轮播效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE HTML> 
<html lang="zh-CN"> 
 
<head> 
  <meta charset="utf-8"> 
  <title>图片轮播</title> 
   
  <style> 
    #box { 
      width:506px; 
      height:306px; 
      margin: 20px auto; 
      border:3px solid black; 
      position:relative; 
      background-color:orange; 
      overflow: hidden; 
      /*overflow: hidden;*/ 
    } 
    .pic { 
      position: absolute; 
      width:500px; 
      height:300px; 
      line-height: 300px; 
      text-align: center; 
      font-size: 100px; 
      color:white; 
      bottom:0; 
    } 
    .red { 
      background-color:red; 
    } 
    .green { 
      background-color:green; 
    } 
    .blue { 
      background-color:blue; 
    } 
    .orange{ 
      background-color: orange; 
    } 
    .move { 
      bottom:300px; 
      transition:bottom 3s; /* 设置图片移动消耗的时间*/ 
    } 
  </style> 
</head> 
 
<body> 
  <div id="box"> 
    <div id="pic1" class="pic red">1</div> 
    <div id="pic2" class="pic green">2</div> 
    <div id="pic3" class="pic blue">3</div> 
    <div id="pic3" class="pic orange">4</div> 
  </div> 
   
   
  <script> 
    window.addEventListener('load',function(){ 
      var pics = document.getElementsByClassName('pic'); 
       
      //为每个pic元素设置z-index的值 
      for(let i=0;i<pics.length;i++){ 
        pics[i].style.zIndex = pics.length-i; 
      } 
       
      //循环播放图片的函数 
      var loopPics = (function(){ 
        var index=0; 
        return function(pics,delay){ 
          var recall = function(pic){ 
            //给图片增加move类,调用css的transition属性播放移动动画 
            pic.className += ' move'; 
            setTimeout(function(){ 
              //取消图片的move类,图片返回原位 
              pic.className=pic.className.replace(' move',''); 
              //改变图片组的堆叠顺序。最外的图片放到最下面,其他图片依次向外移动 
              for(let i=0;i<pics.length;i++){ 
                if(pics[i].style.zIndex==pics.length){ 
                  pics[i].style.zIndex=1; 
                } else { 
                  pics[i].style.zIndex=pics[i].style.zIndex*1+1; 
                } 
              } 
              index++; 
              if(index==pics.length) index=0; 
              recall(pics[index]); 
            },delay); 
          }; 
          recall(pics[index]); 
        }; 
      })(); 
      //调用函数,循环播放。delay的时间需要大于等于css动画里设置的图片移动时间 
      loopPics(pics,4000); 
    }); 
 
  </script> 
</body> 
 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQueryEasyUI Layout布局框架的使用
Apr 08 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
ExtJS如何设置与获取radio控件的选取状态
Jan 22 Javascript
node.js中的fs.readdir方法使用说明
Dec 17 Javascript
JavaScript实现随机替换图片的方法
Apr 16 Javascript
jQuery实现径向动画菜单效果
Jul 17 Javascript
js实现遍历含有input的table实例
Dec 07 Javascript
jQuery取得iframe中元素的常用方法详解
Jan 14 Javascript
AngularJS表单基本操作
Jan 09 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
Oct 23 Javascript
Vant picker 多级联动操作
Nov 02 Javascript
vue+Element-ui实现登录注册表单
Nov 17 Javascript
bootstrap输入框组使用方法
Feb 07 #Javascript
angularjs使用directive实现分页组件的示例
Feb 07 #Javascript
Bootstrap下拉菜单样式
Feb 07 #Javascript
基于JavaScript实现购物车功能
Feb 07 #Javascript
js实现类bootstrap模态框动画
Feb 07 #Javascript
canvas实现探照灯效果
Feb 07 #Javascript
javascript数据类型详解
Feb 07 #Javascript
You might like
php下实现折线图效果的代码
2007/04/28 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
PHP函数超时处理方法
2016/02/14 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
2016/11/28 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
python处理中文编码和判断编码示例
2014/02/26 Python
Python中的闭包实例详解
2014/08/29 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
python多任务之协程的使用详解
2019/08/26 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
详解css3 flex弹性盒自动铺满写法
2020/09/17 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
PHP面试题及答案一
2012/06/18 面试题
酒店秘书求职信范文
2014/02/17 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
驾驶员培训方案
2014/05/01 职场文书
课外活动总结
2015/02/04 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python