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 02 Javascript
基于jQuery的公告无限循环滚动实现代码
May 11 Javascript
JS模拟自动点击的简单实例
Aug 08 Javascript
js实现简单折叠、展开菜单的方法
Aug 28 Javascript
JavaScript面向对象程序设计教程
Mar 29 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 Javascript
如何使用Vuex+Vue.js构建单页应用
Oct 27 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
除Console.log()外更多的Javascript调试命令
Jan 24 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
Apr 09 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 Javascript
JS如何实现手机端输入验证码效果
May 13 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 大数据量及海量数据处理算法总结
2011/05/07 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python中max函数用法实例分析
2015/07/17 Python
Python基于pillow判断图片完整性的方法
2016/09/18 Python
Python3.6正式版新特性预览
2016/12/15 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
利用python实现逐步回归
2020/02/24 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
入党申请书自我鉴定
2013/10/12 职场文书
yy生日主持词
2014/03/20 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
2014年德育工作总结
2014/11/20 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
2015年教师节主持词
2015/07/03 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
Django实现翻页的示例代码
2021/05/24 Python