原生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中创建类/对象的几种方法总结
Nov 29 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
jquery插件star-rating.js实现星级评分特效
Apr 15 Javascript
jquery淡入淡出效果简单实例
Jan 14 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
Jun 21 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
May 02 Javascript
jquery网页加载进度条的实现
Jun 01 jQuery
js实现图片放大展示效果
Aug 30 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
Nov 23 Javascript
JavaScript中的一些实用小技巧总结
Apr 07 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
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
跟老齐学Python之Python安装
2014/09/12 Python
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
django使用html模板减少代码代码解析
2017/12/12 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
Windows下python3.7安装教程
2018/07/31 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
如何使用Python调整图像大小
2020/09/26 Python
气象学专业个人求职信
2014/04/22 职场文书
先进工作者事迹材料
2014/12/23 职场文书
工作后的感想
2015/08/07 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python