原生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实现轮显新闻标题链接
Aug 13 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
js拆分字符串并将分割的数据放到数组中的方法
May 06 Javascript
jQuery检查事件是否触发的方法
Jun 26 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
Aug 27 Javascript
jQuery选择器总结之常用元素查找方法
Aug 04 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
Nov 01 Javascript
Vue 2.0 服务端渲染入门介绍
Mar 29 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
angular学习之动态创建表单的方法
Dec 07 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 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
php 删除记录实现代码
2009/03/12 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
2016/08/01 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
python3 实现的人人影视网站自动签到
2016/06/19 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
python回调函数中使用多线程的方法
2017/12/25 Python
实例详解Python模块decimal
2019/06/26 Python
python安装scipy的方法步骤
2019/06/26 Python
简单了解Python write writelines区别
2020/02/27 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
超市实习总结自我鉴定
2013/09/19 职场文书
社区消防工作实施方案
2014/03/21 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
道歉的话语大全
2015/05/12 职场文书
开学典礼致辞
2015/07/29 职场文书
老舍《猫》教学反思
2016/02/17 职场文书
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python