原生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 相关文章推荐
js活用事件触发对象动作
Aug 10 Javascript
24款非常有用的 jQuery 插件分享
Apr 06 Javascript
JQuery获取各种宽度、高度(format函数)实例
Mar 04 Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 Javascript
基于javascript实现仿百度输入框自动匹配功能
Jan 03 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
TypeScript入门-接口
Mar 30 Javascript
js CSS3实现卡牌旋转切换效果
Jul 04 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
Sep 20 Javascript
深入理解requireJS-实现一个简单的模块加载器
Jan 15 Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 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模板,主要想体现一下思路
2006/12/25 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
js常见表单应用技巧
2008/01/09 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
python实现任意位置文件分割的实例
2018/12/14 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
三个儿子教学反思
2014/02/03 职场文书
安全责任书范文
2014/03/12 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
离婚协议书格式
2015/01/26 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android
mysql sock文件存储了什么信息
2022/07/15 MySQL
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS