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 相关文章推荐
你需要知道的10个最佳javascript开发实践小结
Apr 15 Javascript
获取数组中最大最小值方法js代码(自写)
Aug 12 Javascript
JS数组的遍历方式for循环与for...in
Jul 31 Javascript
sogou地图API用法实例教程
Sep 11 Javascript
JS随机洗牌算法之数组随机排序
Mar 23 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
Oct 10 Javascript
深入理解vue路由的使用
Mar 24 Javascript
详解Vuex管理登录状态
Nov 13 Javascript
微信小程序提交form操作示例
Dec 30 Javascript
原生js实现二级联动菜单
Nov 27 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
JavaScript语句错误throw、try及catch实例解析
Aug 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
php4的session功能评述(二)
2006/10/09 PHP
PHP实现图片简单上传
2006/10/09 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
JS中数据结构之栈
2019/01/01 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
python3中str(字符串)的使用教程
2017/03/23 Python
基于python绘制科赫雪花
2018/06/22 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
canvas需要在标签里直接定义宽高
2014/12/17 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
基层干部十八大感言
2014/01/19 职场文书
全国道德模范事迹
2014/02/01 职场文书
趣味运动会策划方案
2014/06/02 职场文书
IT工程师岗位职责
2014/07/04 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
身份证丢失证明
2015/06/19 职场文书
SQL Server中使用表变量和临时表
2022/05/20 SQL Server
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL