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语言的思想前提想学习js的朋友可以看看
Apr 01 Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
Jan 17 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
Feb 25 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
Sep 06 Javascript
关于img的href和src取变量及赋值的方法
Apr 28 Javascript
jquery实现多行文字图片滚动效果示例代码
Oct 10 Javascript
javascript下拉列表中显示树形菜单的实现方法
Nov 17 Javascript
js只执行1次的函数示例
Jul 20 Javascript
js操作浏览器的参数方法
Jan 21 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 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下使用无限生命期Session的方法
2007/03/16 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
JsChart组件使用详解
2018/03/04 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
vue在路由中验证token是否存在的简单实现
2019/11/11 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
python九九乘法表的实例
2017/09/26 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python中spy++的使用超详细教程
2021/01/29 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
开幕式邀请函
2015/01/31 职场文书
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫