原生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 相关文章推荐
JavaScript小技巧 2.5 则
Sep 12 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
js如何获取object类型里的键值
Feb 18 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 Javascript
JS获取表格内指定单元格html内容的方法
Mar 31 Javascript
Node.js 日志处理模块log4js
Aug 28 Javascript
详解webpack+vue-cli项目打包技巧
Jun 17 Javascript
vue实现同一个页面可以有多个router-view的方法
Sep 20 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 Javascript
vue文件运行的方法教学
Feb 12 Javascript
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
原生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
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
php防止sql注入简单分析
2015/03/18 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
python生成指定尺寸缩略图的示例
2014/05/07 Python
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
pandas修改DataFrame列名的方法
2018/04/08 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
关于python中导入文件到list的问题
2020/10/31 Python
Django中ORM的基本使用教程
2020/12/22 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
亚历山大·王官网:Alexander Wang
2017/06/23 全球购物
院药学专业个人求职信
2013/09/21 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
Python中常见的导入方式总结
2021/05/06 Python
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android