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 相关文章推荐
javascript开发技术大全 第4章 直接量与字符集
Jul 03 Javascript
jQuery截取指定长度字符串的实现原理及代码
Jul 01 Javascript
javascript之Array 数组对象详解
Jun 07 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
深入理解vue2.0路由如何配置问题
Jul 18 Javascript
JS实现简易换图时钟功能分析
Jan 04 Javascript
基于IView中on-change属性的使用详解
Mar 15 Javascript
JavaScript中import用法总结
Jan 20 Javascript
koa2+vue实现登陆及登录状态判断
Aug 15 Javascript
基于javascript的无缝滚动动画1
Aug 07 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
Sep 21 Javascript
如何编写一个 Webpack Loader的实现
Oct 18 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
php基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
DEFER怎么用?
2006/07/01 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
extjs render 用法介绍
2013/09/11 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
Vue header组件开发详解
2018/01/26 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
linux 下实现python多版本安装实践
2014/11/18 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python如何读写csv数据
2018/03/21 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
python默认参数调用方法解析
2020/02/09 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
Python中常见的数制转换有哪些
2020/05/27 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
一年级语文教学反思
2014/02/13 职场文书
护士岗位职责
2014/02/16 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书