JS 实现banner图片轮播效果(鼠标事件)


Posted in Javascript onAugust 04, 2017

一.要实现的效果

1.点击左右可切换图片

2.点击小圆点 可切换图片

二.效果图

JS 实现banner图片轮播效果(鼠标事件)

三.代码

1.css

<style type="text/css">
body,img,span,ul,li{margin: 0;padding: 0;}
#div1{width: 600px;height: 350px;margin: 150px auto;border: 10px solid #eee;position: relative;}
img{width: 600px;height: 350px;}
span{display: inline-block;position: absolute;width: 50px;height: 50px;border-radius: 25px;background:rgba(0,0,0,.3); font-size: 30px;line-height: 50px;text-align: center;cursor: pointer;color: white;}
span:hover{background:rgba(255,255,255,.5);color:black;transform:scale(1.3);}
span#L{left: 10px;top: 150px;}
span#R{right: 10px;top: 150px;}
#div1 #ul{position: absolute;bottom: 10px;left: 250px;width: 125px;height: 20px;}
#div1 #ul li{list-style: none;float: left;height: 20px;width: 20px;border-radius: 10px;background:rgba(255,255,255,.5); margin-right: 5px;cursor: pointer;}
#div1 #ul .active{background:rgba(0,0,0,.5);}
</style>

2.html

<body>
  <div id="div1">
    <img src="" alt="">
    <span id="L"><</span>
    <span id="R">></span>
    <ul id="ul">
     <li></li>
     <li></li>
     <li></li>
     <li></li>
     <li></li>
    </ul>
  </div>
</body>

3.js

<script type="text/javascript">
window.onload=function(){
  var div1=document.getElementById('div1');
  var oImg=div1.getElementsByTagName('img')[0];
  var spanL=document.getElementById('L');
  var spanR=document.getElementById('R');
  var oUl=document.getElementById('ul');
  var oLi=oUl.getElementsByTagName('li');
  var arrImg=['img2/1.jpg','img2/2.jpg','img2/3.jpg','img2/4.jpg','img2/5.jpg'];
  var num=0;
  var oldLi=0;
  function fn(num) {
    oImg.src=arrImg[num];
  }
  fn(0);
  function fnLi(num){
    oLi[oldLi].className='';
    oLi[num].className='active';
    oldLi=num;
  }
  fnLi(0);
  /*点击左右span图片切换*/
  /*点击左右span时li切换*/
  spanL.onclick=function(){
    if (num<1) {
      num=arrImg.length-1;
      fn(num);
      fnLi(num);
    }else{
      num--;
      fnLi(num);
      fn(num);
    }    
  }
  spanR.onclick=function(){
    if (num==arrImg.length-1) {
      num=0;
      fn(num);
      fnLi(num);
    }else{
      num++;
      fnLi(num);
      fn(num);
    }    
  }
  /*点击li实现图片切换*/
  for (var i = 0; i < oLi.length; i++) {
    oLi[i].index=i;
    oLi[i].onclick=function(){
      fn(this.index);
      fnLi(this.index);
    }
  }
}
</script>

总结

以上所述是小编给大家介绍的JS 实现banner图片轮播效果(鼠标事件),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
css把超出的部分显示为省略号的方法兼容火狐
Jul 23 Javascript
JavaScript 字符串处理函数使用小结
Dec 02 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
Dec 10 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
Jul 01 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 Javascript
第一次接触神奇的Bootstrap表单
Jul 27 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
JS中事件冒泡和事件捕获介绍
Dec 13 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
利用vue重构有赞商城的思路以及总结整理
Feb 21 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 Javascript
vue等两个接口都返回结果再执行下一步的实例
Sep 08 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 #jQuery
JavaScript正则表达式校验与递归函数实际应用实例解析
Aug 04 #Javascript
js模拟百度模糊搜索的实例
Aug 04 #Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 #Javascript
addeventlistener监听scroll跟touch(实例讲解)
Aug 04 #Javascript
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 #jQuery
Angular2环境搭建具体操作步骤(推荐)
Aug 04 #Javascript
You might like
跟我学Laravel之视图 &amp; Response
2014/10/15 PHP
laravel学习教程之关联模型
2016/07/30 PHP
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
python调用百度REST API实现语音识别
2018/08/30 Python
Django框架模板的使用方法示例
2019/05/25 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python with语句的原理与用法详解
2020/03/30 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
应用服务器有那些
2012/01/19 面试题
小学生个人先进事迹材料
2014/05/08 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
师德师风个人整改措施
2014/10/27 职场文书
史上最牛辞职信
2015/05/13 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL
详解Vue3使用axios的配置教程
2022/04/29 Vue.js
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电