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 相关文章推荐
一个tab标签切换效果代码
Mar 27 Javascript
用jQuery技术实现Tab页界面之二
Sep 21 Javascript
JQuery 学习笔记01 JQuery初接触
May 06 Javascript
分享两段简单的JS代码防止SQL注入
Apr 12 Javascript
微信小程序 石头剪刀布实例代码
Jan 04 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
Mar 13 Javascript
JS实现上传图片的三种方法并实现预览图片功能
Jul 14 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
Jul 18 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 Javascript
让IDE识别webpack的别名alias的实现方法
May 06 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
Sep 21 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中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php上传图片存入数据库示例分享
2014/03/11 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
PHP把MSSQL数据导入到MYSQL的方法
2014/12/27 PHP
php超快高效率统计大文件行数
2015/07/05 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
用svg制作富有动态的tooltip
2015/07/17 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
EsLint入门学习教程
2017/02/17 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
2017/04/13 Javascript
javascript回调函数详解
2018/02/06 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
五十岁生日宴会答谢词
2014/01/15 职场文书
中秋晚会策划方案
2014/06/12 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
python程序的组织结构详解
2021/12/06 Python
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js