原生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 页面只自动刷新一次
Jul 10 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
jquery获取img的src值的简单实例
May 17 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 Javascript
Javascript 实现计算器时间功能详解及实例(二)
Jan 08 Javascript
原生js实现图片放大缩小计时器效果
Jan 20 Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 Javascript
详解Angular5 服务端渲染实战
Jan 04 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
Mar 07 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
Sep 29 Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 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
杏林同学录(五)
2006/10/09 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
Python的Django框架中的表单处理示例
2015/07/17 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
玩手机检讨书1000字
2014/10/20 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
离婚起诉书范本
2015/05/18 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
职工宿舍管理制度
2015/08/05 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
python使用torch随机初始化参数
2022/03/22 Python