原生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 相关文章推荐
共享自己写一个框架DreamScript
Jan 20 Javascript
JavaScript修改css样式style
Apr 15 Javascript
JavaScript网页定位详解
Jan 13 Javascript
javascript解析json数据的3种方式
May 08 Javascript
jQuery中height()方法用法实例
Dec 24 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
Dec 20 Javascript
JavaScript Date对象详解
Mar 01 Javascript
node.js中debug模块的简单介绍与使用
Apr 25 Javascript
jquery实现图片上传前本地预览
Apr 28 jQuery
React Form组件的实现封装杂谈
May 07 Javascript
layui使用label标签的方法
Sep 14 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.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
很好用的PHP数据库类
2009/05/27 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
[01:42]TI4西雅图DOTA2前线报道 第一顿早饭哦
2014/07/08 DOTA
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
Python collections模块实例讲解
2014/04/07 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
用Python实现随机森林算法的示例
2017/08/24 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
美国最大网上鞋店:Zappos
2016/07/25 全球购物
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
酒店总经理助理岗位职责
2014/02/01 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
新年主持词
2014/03/27 职场文书
财务担保书范文
2014/04/02 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
保管员岗位职责
2015/02/14 职场文书
病人慰问信范文
2015/02/15 职场文书
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS
关于的python五子棋的算法
2022/05/02 Python