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 相关文章推荐
Javascript学习笔记二 之 变量
Dec 15 Javascript
深入探讨前端框架react
Dec 09 Javascript
Angular 应用技巧总结
Sep 14 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
Nov 07 Javascript
javascript表达式和运算符详解
Feb 07 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
Feb 27 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
vue2.0+vue-dplayer实现hls播放的示例
Mar 02 Javascript
React-router4路由监听的实现
Aug 07 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
Websocket 向指定用户发消息的方法
Jan 09 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 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
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
php查找字符串出现次数的方法
2014/12/01 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
python实现计算资源图标crc值的方法
2014/10/05 Python
使用python开发vim插件及心得分享
2014/11/04 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
《忆江南》教学反思
2014/04/07 职场文书
程序员求职信
2014/04/16 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang