原生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 相关文章推荐
javascript编程起步(第三课)
Feb 27 Javascript
jquery 日期分离成年月日的代码
May 14 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
Nov 19 Javascript
JavaScript获取网页中第一个图片id的方法
Apr 03 Javascript
javascript的BOM汇总
Jul 16 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
May 09 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
jQuery Ajax请求后台数据并在前台接收
Dec 10 Javascript
微信小程序 简单教程实例详解
Jan 13 Javascript
ReactNative列表ListView的用法
Aug 02 Javascript
详解vue-router数据加载与缓存使用总结
Oct 29 Javascript
js实现日历
Nov 07 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
深入掌握include_once与require_once的区别
2013/06/17 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
css图片自适应大小
2007/11/28 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python 专题四 文件基础知识
2017/03/20 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
在双python下设置python3为默认的方法
2018/10/31 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
Noon埃及:埃及在线购物
2019/11/26 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
好的自荐信包括什么内容
2013/11/07 职场文书
旅游管理专业生自荐信范文
2014/01/02 职场文书
预备党员入党思想汇报
2014/01/04 职场文书
幼儿园小班教学反思
2014/02/02 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
企业党建工作总结2015
2015/05/26 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python