js实现幻灯片轮播图


Posted in Javascript onAugust 14, 2020

本文实例为大家分享了js实现幻灯片轮播图的具体代码,供大家参考,具体内容如下

1.html

选取了五张图片 放入div中,然后是左右箭头,以及按钮,代码如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>轮播图</title>
 <link href="../css/轮播图.css" rel="stylesheet">
</head>
<body>
<div id="box">
 <img src="../image/car-1.jpg">
 <img src="../image/car-2.jpg">
 <img src="../image/car-3.jpg">
 <img src="../image/car-4.jpg">
 <img src="../image/car-5.jpg">
 <div class="arrow">
 <a class="left" href="javacript:void(0);" ><</a>
 <a class="right" href="javacript:void(0);" >></a>
 </div>
 <ul class="btn">
 <li class="on" slideIndex="1">1</li>
 <li slideIndex="2">2</li>
 <li slideIndex="3">3</li>
 <li slideIndex="4">4</li>
 <li slideIndex="5">5</li>
 </ul>
</div>
<script src="../js/轮播图.js">
 </script>
</body>
</html>

2.css给div设置居中

将所有图片隐藏,设置箭头和小圆点的样式
代码如下

*{
 margin:0;
 padding:0;
 text-decoration: none;
 list-style: none;
}
#box{
 width:800px;
 height: 500px;
 margin:50px auto 0px;
 position: relative;
}
#box img{
 width:800px;
 height: 500px;
 display: none;
 animation:fade 3s;
}
#box .arrow{
 width:800px;
 height: 80px;
 position: absolute;
 top:50%;
 margin-top: -40px;
}
#box .arrow .left,.right{
 display: inline-block;
 line-height: 80px;
 width: 50px;
 height:80px;

}
#box .arrow .left:hover{
 background:rgba(0,0,0,0.8);
}
#box .arrow .right:hover{
 background:rgba(0,0,0,0.8);
}
#box .arrow .right{
 text-align: right;
 position: absolute;
 right:0;
}
#box .arrow a{
 font-size: 50px;
 color: #ffffff;
}
#box .btn{
 position: absolute;
 bottom: 10px;
 left:50%;
 margin-left: -98.47px;
 text-align: center;
}
#box .btn li{
 text-align: center;
 margin:0 5px;
 padding: 10px;
 float:left;
 background:white;
 border-radius:20%;
 cursor: pointer;

 transition: background 2s ease;
}
#box .btn .on{
 background: #000;
 color:white;
}
@keyframes fade{
 from{
 opacity:.4;
 }
 to{
 opacity:1;
 }
}

3.js部分

js设定让当前图片显示display:block,其他图片隐藏display:none;

js代码如下

window.onload=function () {
 var left=document.getElementsByClassName("left")[0];
 var right=document.getElementsByClassName("right")[0];
 var btn=document.getElementsByClassName("btn")[0].getElementsByTagName("li");
 var box=document.getElementById("box");
 var slideIndex=1;
 var index=1;
 var timer;
 //图片切换函数
 showSlides(slideIndex);
 function showSlides(n) {
 var slides=document.getElementById("box").getElementsByTagName("img");
 for(var i=0;i<slides.length;i++){
  slides[i].style.display="none";
  btn[i].className="";
 }
 slides[slideIndex-1].style.display="block";
  btn[slideIndex-1].className="on"
 }
 //箭头切换
 left.onclick=function () {
 if(slideIndex>1) {
  slideIndex--;
  showSlides(slideIndex);
 }else {
  slideIndex=5;
  showSlides(slideIndex);
 }
 }
  right.onclick=function () {
  if(slideIndex<5) {
   slideIndex++;
   showSlides(slideIndex);
  }else {
   slideIndex=1;
   showSlides(slideIndex);
  }
  }
  //btn切换
 for(var i=0;i<btn.length;i++){
 btn[i].onclick=function () {
  var myslideIndex=this.getAttribute('slideIndex');
  // var myindex=parseInt(this.getAttribute("index"));
  slideIndex=myslideIndex;
  showSlides(slideIndex);
 }
 }
 //自动播放
 function play() {
 timer=setInterval(function () {
  right.onclick();
 },4000);
 }
 function stop() {
 clearInterval(timer);
 }
box.onmouseout=play;
 box.onmouseover=stop;
 play();
}

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

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

Javascript 相关文章推荐
jquery一句话全选/取消全选
Mar 01 Javascript
JavaScript 学习笔记之操作符
Jan 14 Javascript
JavaScript中调用函数的4种方式代码实例
Jul 08 Javascript
JavaScript严格模式详解
Nov 18 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
用jquery的attr方法实现图片切换效果
Feb 05 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 Javascript
详解使用React全家桶搭建一个后台管理系统
Nov 04 Javascript
webpack+vue中使用别名路径引用静态图片地址
Nov 20 Javascript
JavaScript实现构造json数组的方法分析
Aug 17 Javascript
vue 取出v-for循环中的index值实例
Nov 09 Javascript
查找Vue中下标的操作(some和findindex)
Aug 12 #Javascript
修改Vue打包后的默认文件名操作
Aug 12 #Javascript
解决vue单页面应用进入页面加载所有 js 的问题
Aug 12 #Javascript
vue设置默认首页的操作
Aug 12 #Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 #Javascript
浅谈vue中resetFields()使用注意事项
Aug 12 #Javascript
VUE 实现element upload上传图片到阿里云
Aug 12 #Javascript
You might like
PHP脚本的10个技巧(7)
2006/10/09 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
PHP微信API接口类
2016/08/22 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
JS 进度条效果实现代码整理
2011/05/21 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python装饰器的函数式编程详解
2015/02/27 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
django中ImageField的使用详解
2020/12/21 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
给幼儿园老师的表扬信
2014/01/19 职场文书
个人委托书怎么写
2014/04/04 职场文书
2015年个人自我剖析材料
2014/12/29 职场文书
工程技术员岗位职责
2015/04/11 职场文书
教师节座谈会主持词
2015/07/03 职场文书
初中语文教师研修日志
2015/11/13 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
Java设计模式之享元模式示例详解
2022/03/03 Java/Android