原生js和css实现图片轮播效果

发布时间 - 2026-01-10 22:54:40    点击率:

本文实例为大家分享了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # css  # 图片轮播  # js css3实现图片拖拽效果  # 利用CSS、JavaScript及Ajax实现图片预加载的三大方法  # BootStrap 图片样式、辅助类样式和CSS组件的实例详解  # 利用CSS、JavaScript及Ajax实现图片预加载的方法  # 基于cssSlidy.js插件实现响应式手机图片轮播效果  # 详解CSS不定宽溢出文本适配滚动  # 如何在CSS中绘制曲线图形及展示动画  # 详解盒子端CSS动画性能提升  # 详解CSS玩转图片Base64编码  # 向外  # 大家分享  # 具体内容  # 大家多多  # margin  # border  # auto  # width  # box  # height  # px  # orange  # color  # overflow  # pic  # hidden  # black  # solid  # position  # background 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在Ubuntu系统下快速搭建WordPress个人网站?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Python进程池调度策略_任务分发说明【指导】  如何用PHP快速搭建高效网站?分步指南  Laravel如何使用Gate和Policy进行授权?(权限控制)  zabbix利用python脚本发送报警邮件的方法  Laravel如何实现API版本控制_Laravel版本化API设计方案  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  ,怎么在广州志愿者网站注册?  英语简历制作免费网站推荐,如何将简历翻译成英文?  三星网站视频制作教程下载,三星w23网页如何全屏?  IOS倒计时设置UIButton标题title的抖动问题  PHP正则匹配日期和时间(时间戳转换)的实例代码  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel如何发送系统通知?(Notification渠道示例)  深圳网站制作的公司有哪些,dido官方网站?  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  高端云建站费用究竟需要多少预算?  电商网站制作价格怎么算,网上拍卖流程以及规则?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何续费美橙建站之星域名及服务?  米侠浏览器网页背景异常怎么办 米侠显示修复  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  android nfc常用标签读取总结  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  利用vue写todolist单页应用  教你用AI将一段旋律扩展成一首完整的曲子  在线制作视频网站免费,都有哪些好的动漫网站?  原生JS实现图片轮播切换效果  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  如何用好域名打造高点击率的自主建站?  智能起名网站制作软件有哪些,制作logo的软件?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何在香港服务器上快速搭建免备案网站?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何快速搭建安全的FTP站点?  如何在局域网内绑定自建网站域名?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案