原生JavaScript实现轮播图


Posted in Javascript onJanuary 10, 2021

本文实例为大家分享了JavaScript实现轮播图的具体代码,供大家参考,具体内容如下

效果:

原生JavaScript实现轮播图

代码:

<!DOCTYPE html>
<html>

 <head>
 <meta charset="UTF-8">
 <title></title>
 <style>
 * {
 margin: 0;
 padding: 0;
 }
 
 ul,
 li {
 list-style: none;
 }
 
 .banner {
 width: 1200px;
 height: 535px;
 border: 1px solid red;
 margin: 0 auto;
 position: relative;
 }
 
 .slider li {
 position: absolute;
 left: 0;
 top: 0;
 }
 
 a {
 width: 40px;
 height: 50px;
 background-color: rgba(0, 0, 0, 0.1);
 font-size: 50px;
 text-align: center;
 line-height: 50px;
 position: absolute;
 text-decoration: none;
 color: gray;
 }
 
 .btnl {
 left: 0;
 top: 50%;
 margin-top: -15px;
 }
 
 .btnr {
 right: 0;
 top: 50%;
 margin-top: -25px;
 }
 
 .tabs {
 position: absolute;
 bottom: 20px;
 left: 50%;
 margin-left: -75px;
 }
 
 .tabs li {
 width: 15px;
 height: 15px;
 background-color: #ccc;
 border-radius: 50%;
 float: left;
 margin-right: 10px;
 }
 </style>
 </head>

 <body>
 <div class="banner">
 <ul class="slider">
 <li><img src="img/b1.jpg" alt="" /></li>
 <li><img src="img/b2.jpg" alt="" /></li>
 <li><img src="img/b3.jpg" alt="" /></li>
 <li><img src="img/b4.jpg" alt="" /></li>
 <li><img src="img/b5.jpg" alt="" /></li>
 <li><img src="img/b6.jpg" alt="" /></li>
 </ul>
 <a href="javascript:void(0);" class="btnl">
 <</a>
 <a href="javascript:void(0);" class="btnr">></a>
 <ul class="tabs">
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 </ul>
 </div>
 <script type="text/javascript">
 var banner = document.getElementsByClassName("banner")[0];
 var slider = document.getElementsByClassName("slider")[0];
 var li = slider.getElementsByTagName("li");
 var btnl = document.getElementsByClassName("btnl")[0];
 var btnr = document.getElementsByClassName("btnr")[0];
 var tabs = document.getElementsByClassName("tabs")[0];
 var btns = tabs.getElementsByTagName("li");

 //初始化
 btns[0].style.backgroundColor = "red";

 for(var i = 0; i < li.length; i++) {
 if(i == 0) {
 continue;
 } else {
 li[i].style.opacity = 0;
 }
 }

 var timer = setInterval(mover, 1000);

 //声明一个变量,代表当前图片的下标
 var num = 0;

 function mover() {
 num++;
 if(num == li.length) {
 num = 0;
 }
 for(var i = 0; i < li.length; i++) {
 li[i].style.opacity = 0;
 btns[i].style.backgroundColor = "#ccc";
 }
 li[num].style.opacity = 1;
 btns[num].style.backgroundColor = "red";

 }

 function movel() {
 num--;
 if(num == -1) {
 num = li.length - 1;
 }
 for(var i = 0; i < li.length; i++) {
 li[i].style.opacity = 0;
 btns[i].style.backgroundColor = "#ccc";
 }
 li[num].style.opacity = 1;
 btns[num].style.backgroundColor = "red";
 }

 banner.onmouseover = function() {
 clearInterval(timer)
 }

 banner.onmouseout = function() {
 timer = setInterval(mover, 1000)
 }

 btnl.onclick = function(e) {
 movel();
 }
 btnr.onclick = function(e) {
 mover();
 }

 // 小圆点效果
 for(var i = 0; i < btns.length; i++) {
 btns[i].index = i;
 btns[i].onmouseover = function() {
 if(this.index == num) {
 return;
 } else {
 for(var i = 0; i < li.length; i++) {
 li[i].style.opacity = 0;
 btns[i].style.backgroundColor = "#ccc";
 }
 li[this.index].style.opacity = 1;
 btns[this.index].style.background="red";
 num=this.index;
 }
 }
 }
 </script>
 </body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
angular源码学习第一篇 setupModuleLoader方法
Oct 20 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
Dec 13 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 Javascript
elementUI中Table表格问题的解决方法
Dec 04 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
Apr 09 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
Jul 23 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
JS字符串和数组如何实现相互转化
Jul 02 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 Javascript
vue+echarts实现动态折线图的方法与注意
Sep 01 Javascript
原生JavaScript实现留言板
Jan 10 #Javascript
JavaScript实现点击切换验证码及校验
Jan 10 #Javascript
JavaScript canvas实现雨滴特效
Jan 10 #Javascript
多种类型jQuery网页验证码插件代码实例
Jan 09 #jQuery
利用JS判断元素是否为数组的方法示例
Jan 08 #Javascript
JS实现页面侧边栏效果探究
Jan 08 #Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 #Vue.js
You might like
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
js和php如何获取当前url的内容
2013/09/22 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
php跨域调用json的例子
2013/11/13 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
JavaScript闭包详解
2015/02/02 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
微信小程序 聊天室简单实现
2017/04/19 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
小程序实现多选框功能
2018/10/30 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
Python文件读写常见用法总结
2019/02/22 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
Python之变量类型和if判断方式
2020/05/05 Python
python用Configobj模块读取配置文件
2020/09/26 Python
写给女朋友的道歉信
2014/01/12 职场文书
小学端午节活动方案
2014/03/13 职场文书
安全生产工作汇报
2014/10/28 职场文书
银行招聘自荐信
2015/03/06 职场文书
2015年药房工作总结
2015/04/25 职场文书
Python利用FlashText算法实现替换字符串
2022/03/31 Python