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 相关文章推荐
自己编写的类似JS的trim方法
Oct 09 Javascript
用Jquery.load载入页面实现局部刷新
Jan 22 Javascript
php中给js数组赋值方法
Mar 10 Javascript
JavaScript中的条件判断语句使用详解
Jun 03 Javascript
分享一个精简的vue.js 图片lazyload插件实例
Mar 13 Javascript
JS查找英文文章中出现频率最高的单词
Mar 20 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
微信小程序 五星评分的实现实例
Aug 04 Javascript
JS随机数产生代码分享
Feb 24 Javascript
详解vue中的父子传值双向绑定及数据更新问题
Jun 13 Javascript
Vue内部渲染视图的方法
Sep 02 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
Nov 10 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
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
在Django中创建动态视图的教程
2015/07/15 Python
Python 制作糗事百科爬虫实例
2016/09/22 Python
利用Python破解斗地主残局详解
2017/06/30 Python
python flask中静态文件的管理方法
2018/03/20 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
使用k8s部署Django项目的方法步骤
2019/01/14 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
python 多线程中join()的作用
2020/10/29 Python
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
美国牛仔品牌:True Religion
2018/11/16 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
平安家庭示范户事迹
2014/06/02 职场文书
违纪学生保证书
2015/02/27 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
导游词之千岛湖
2019/09/23 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python