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动态改变图片IMG的src地址示例
Jun 25 Javascript
JavaScript中神奇的call()方法
Mar 12 Javascript
百度地图api如何使用
Aug 03 Javascript
javascript Slip.js实现整屏滑动的手机网页
Nov 25 Javascript
微信小程序 实例应用(记账)详解
Sep 28 Javascript
AngularJS入门教程之数据绑定用法示例
Nov 01 Javascript
js实现登录框鼠标拖拽效果
Mar 09 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
Apr 22 Javascript
使用JavaScript实现链表的数据结构的代码
Aug 02 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
Jul 19 Javascript
vuex(vue状态管理)的特殊应用案例分享
Mar 03 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中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python标准库os.path包、glob包使用实例
2014/11/25 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
python实现五子棋程序
2020/04/24 Python
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
电钳工人个人求职信
2014/05/10 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
数学教师个人总结
2015/02/06 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js