原生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 相关文章推荐
比较全面的event对像在IE与FF中的区别 推荐
Sep 21 Javascript
IE8下关于querySelectorAll()的问题
May 13 Javascript
把jquery 的dialog和ztree结合实现步骤
Aug 02 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
Jun 06 Javascript
vue v-model表单控件绑定详解
May 17 Javascript
vue深入解析之render function code详解
Jul 18 Javascript
WebSocket的通信过程与实现方法详解
Apr 29 Javascript
JavaScript原型继承和原型链原理详解
Feb 04 Javascript
vue组件系列之TagsInput详解
May 14 Javascript
vue-i18n实现中英文切换的方法
Jul 06 Javascript
vue点击标签切换选中及互相排斥操作
Jul 17 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
桌面中心(四)数据显示
2006/10/09 PHP
如何在PHP中进行身份认证
2006/10/09 PHP
php导入导出excel实例
2013/10/25 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
php短址转换实现方法
2015/02/25 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
vue中轮训器的使用
2019/01/27 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
Fabric 应用案例
2016/08/28 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
python利用faker库批量生成测试数据
2020/10/15 Python
二手书店创业计划书
2014/01/16 职场文书
业务员自荐信范文
2014/04/20 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
庆祝国庆节标语
2014/10/09 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
给老婆的保证书
2015/01/16 职场文书
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis
Android实现图片九宫格
2022/06/28 Java/Android