原生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 相关文章推荐
jQuery Select(单选) 模拟插件 V1.3.62 改进版
Jul 17 Javascript
深入理解Javascript闭包 新手版
Dec 28 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
Nov 07 Javascript
Javascript中3种实现继承的方法和代码实例
Aug 12 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
javascript中setAttribute()函数使用方法及兼容性
Jul 19 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
Aug 07 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
Sep 22 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
Feb 19 Javascript
老生常谈jquery中detach()和remove()的区别
Mar 02 Javascript
Angular数据绑定机制原理
Apr 17 Javascript
原生js实现滑块区间组件
Jan 20 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可变函数的使用详解
2013/06/14 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
javascript window对象属性整理
2009/10/24 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
python使用any判断一个对象是否为空的方法
2014/11/19 Python
深入理解Python3 内置函数大全
2017/11/23 Python
python实现随机梯度下降(SGD)
2020/03/24 Python
解读python如何实现决策树算法
2018/10/11 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
python绘制玫瑰的实现代码
2020/03/02 Python
parser.add_argument中的action使用
2020/04/20 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
新员工欢迎词
2014/01/12 职场文书
学校卫生检查制度
2014/02/03 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
高二英语教学反思
2016/03/03 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技