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 相关文章推荐
EXT窗口Window及对话框MessageBox
Jan 27 Javascript
后台获取ZTREE选中节点的方法
Feb 12 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
JavaScript数据类型详解
Apr 01 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
May 06 Javascript
DWR中各种java方法的调用
May 04 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
vue基于better-scroll实现左右联动滑动页面
Jun 30 Javascript
vue如何实现关闭对话框后刷新列表
Apr 08 Vue.js
查找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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
Javascript学习笔记1 数据类型
2010/01/11 Javascript
jquery each()源代码
2011/02/14 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
2019/09/25 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
打开电脑上的QQ的python代码
2013/02/10 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
django中ImageField的使用详解
2020/12/21 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
思想品德自我鉴定
2013/10/12 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
志愿者工作心得体会
2016/01/15 职场文书
导游词之长城八达岭
2019/09/24 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript
java executor包参数处理功能 
2022/02/15 Java/Android