原生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 相关文章推荐
js绑定事件this指向发生改变的问题解决方法
Apr 23 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
Nov 19 Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 Javascript
js网页实时倒计时精确到秒级
Feb 10 Javascript
简化版手机端照片预览组件
Apr 13 Javascript
JavaScript lodash常见用法系列小结
Aug 24 Javascript
javascript实现的上下无缝滚动效果
Sep 19 Javascript
jQuery插件ajaxFileUpload异步上传文件
Oct 19 Javascript
jQuery实现的模拟弹出窗口功能示例
Nov 24 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
Node 代理访问的实现
Sep 19 Javascript
js DOM的事件常见操作实例详解
Dec 16 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
多人战的战术与战略
2020/03/04 星际争霸
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
使用PHP开发留言板功能
2019/11/19 PHP
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
2015/08/28 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
python抓取网站的图片并下载到本地的方法
2018/05/22 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
Python创建字典的八种方式
2019/02/27 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
Python下载的11种姿势(小结)
2020/11/18 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
初中科学教学反思
2014/01/21 职场文书
毕业生自荐书
2014/02/02 职场文书
大学军训感言800字
2014/02/27 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
实习生矿工检讨书
2014/10/13 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
党支部培养考察意见
2015/06/02 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
《检阅》教学反思
2016/02/22 职场文书
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python