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中hasOwnProperty()的作用
Jun 05 Javascript
javascript列表框操作函数集合汇总
Nov 28 Javascript
Backbone.js中的集合详解
Jan 14 Javascript
jQuery中noConflict()用法实例分析
Feb 08 Javascript
JavaScript取得WEB安全颜色列表的方法
Jul 14 Javascript
js生成随机数(指定范围)的实例代码
Jul 10 Javascript
很棒的js选项卡切换效果
Jul 15 Javascript
EasyUI中的dataGrid的行内编辑
Jun 22 Javascript
利用vue + element实现表格分页和前端搜索的方法
Dec 25 Javascript
原生JS实现前端本地文件上传
Sep 08 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
浅谈js中的bind
Mar 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
php 运行效率总结(提示程序速度)
2009/11/26 PHP
php+mysql数据库查询实例
2015/01/21 PHP
php数组键名技巧小结
2015/02/17 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
yepnope.js 异步加载资源文件
2011/09/08 Javascript
javascript 保存文件到本地实现方法
2012/11/29 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
理解JS绑定事件
2016/01/19 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
VUE中的无限循环代码解析
2017/09/22 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
Vue结合Video.js播放m3u8视频流的方法示例
2018/05/04 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
python如何实现视频转代码视频
2019/06/17 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
CSS3实现精美横向滚动菜单按钮
2017/04/14 HTML / CSS
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
旅游网创业计划书
2014/01/31 职场文书
导游词之镜泊湖
2019/12/09 职场文书