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 装载iframe子页面,自适应高度
Mar 20 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
Sep 27 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
Oct 22 Javascript
JS继承用法实例分析
Feb 05 Javascript
JS实现文字放大效果的方法
Mar 03 Javascript
js获取滚动距离的方法
May 30 Javascript
jquery实现表单验证简单实例演示
Nov 23 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
May 24 Javascript
JS+CSS3制作炫酷的弹窗效果
Nov 08 Javascript
EditPlus 正则表达式 实战(3)
Dec 15 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
Webpack实现按需打包Lodash的几种方法详解
May 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
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
Python设计模式之单例模式实例
2014/04/26 Python
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
python中函数传参详解
2016/07/03 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
教师实习自我鉴定
2013/12/14 职场文书
医院工作检讨书范文
2014/02/10 职场文书
邀请函怎么写
2015/01/30 职场文书
CAD实训总结范文
2015/08/03 职场文书
关于五一放假的通知
2015/08/18 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS