JavaScript_banner轮播图

让我们一起来学习一下用js怎么实现banner轮播图呢?

直接看代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>banner轮播</title>
<style>
#banner{width:820px;height:430px;margin:0 auto;position:relative;}
#banner img{width:100%;height:100%;}
ul{position:absolute;top:83%;left:290px;list-style:none;}
ul li{width:25px;height:25px;border-radius:50%;float:left;margin-right:15px;text-align:center;line-height:25px;}
#Left,#Right{position:absolute;top:45%;width:60px;height:60px;display:none;}
#banner:hover #Left{display:block;}
#banner:hover #Right{display:block;}
#Left{left:0;}
#Right{right:0;}
</style>
</head>
<!--页面加载的时候直接加载它-->
<body onload="lunbo()">
<div id="banner">
<img src="img/banner0.jpg" id="img">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<div id="Left">
<img src="img/07_箭头_向左.png" id="left">
</div>
<div id="Right">
<img src="img/07_箭头_向右 (1).png" id="right">
</div>
</div>
<script type="text/javascript">
//首先我们要获取到他们,便于接下来操作
var Img=document.getElementById("img");
var Lis=document.getElementsByTagName("li");
var Left=document.getElementById("left");
var Right=document.getElementById("right");
var index=-1;
var Banner=document.getElementById("banner");
//定时器(需要定义的函数,它的毫秒数)
var timer=setInterval("lunbo()",1800);
//利用定时器使图片达到轮播效果
function lunbo(){
index++;
resetColor();
if(index == 4){
index=0;
}
Img.src="img/banner"+index+".jpg";
Lis[index].style.background="orchid";
}
//小原点初始值颜色(定义函数,在定时器去调用它)
function resetColor(){
for(var i=0;i<Lis.length;i++){
Lis[i].style.background="rgba(100,100,100,.5)";
}
}
//鼠标移入和移出
Banner.onmouseover=function(){
clearInterval(timer);
}
Banner.onmouseout=function(){
//变量作用域,因为这边已经给它清除了,所以必须重新声明它.
timer=setInterval("lunbo()",1800);
}
//点击小圆点切换图片到指定位置
for (var i=0;i<Lis.length;i++) {
Lis[i].onclick = function(){
clearInterval(timer);
index = this.innerHTML-1;
Img.src="img/banner"+index+".jpg";
resetColor();
Lis[index].style.background = "orchid";
timer = setInterval("lunbo()",1800);
}
}
//左边和右边按钮切换
Left.onclick = function(){
index--;
if (index == -1) {
index = 3;
}
Img.src="img/banner"+index+".jpg";
resetColor();
Lis[index].style.background = "orchid";
}
Right.onclick = function(){
if (index == 3) {
index = -1;
}
index++;
Img.src="img/banner"+index+".jpg";
resetColor();
Lis[index].style.background = "orchid";
}
</script>
</body>
</html>

希望对大家有帮助~~如果有更好的方法,可以一起学习交流哦!

用JavaScript制作banner轮播图的更多相关文章

  1. 如何使用微信小程序制作banner轮播图?

    在前端工程师的工作中,banner是必不可少的,那缺少了DOM的小程序是如何实现banner图的呢?如同其他的框架封装了不同的banner图的方法,小程序也封装了banner的方法,来让我一一道来: ...

  2. jQuery与原生js实现banner轮播图

    jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...

  3. 原生无缝Banner轮播图

    话不多说,先展示效果图.由于录制工具,稍显卡顿,实际是流畅的.可以看到实现了无缝轮播,鼠标悬停,点击左右上下按钮切换Banner的功能,如图1所示. 图1 原生无缝banner效果展示 以我这个轮播图 ...

  4. [vuejs短文]使用vue-transition制作小小轮播图

    提示 本文是个人的一点小笔记,用来记录开发中遇到的轮播图问题和vue-transition问题. 会不断学习各种轮播图添加到本文当中 也有可能会上线,方便看效果 开始制作 超简易呼吸轮播 简单粗暴的使 ...

  5. javascript原生js轮播图

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Web前端原生JavaScript浅谈轮播图

    1.一直来说轮播图都是困扰刚进业内小白的一大难点,因为我们不仅需要自己作出一个比较完美的运动框架(虽然网上一抓一大把,但是哪有比自己做出来实现的有成就感,不是吗?^_^),还必须需要非常关键性的把握住 ...

  7. 从零开始学习前端JAVASCRIPT — 11、JavaScript运动模型及轮播图效果、放大镜效果、自适应瀑布流

    未完待续...... 一.运动原理 通过连续不断的改变物体的位置,而发生移动变化. 使用setInterval实现. 匀速运动:速度值一直保持不变. 多物体同时运动:将定时器绑设置为对象的一个属性. ...

  8. JavaScript实现动态轮播图效果

    功能描述: 1.鼠标经过 左右侧箭头显示,鼠标离开 箭头隐藏 2.动态添加底部小圆圈并绑定单击事件,并且让小圆圈的点击事件和左右箭头点击事件同步 3.拷贝第一张图片添加到ul最后可以实现动态添加图片 ...

  9. 安卓开发笔记(三十二):banner轮播图的实现

    一.activity.xml 我这里主要爬取的爱奇艺首页的图片进行轮播,应用了两个github上的开源库,一个banner的库,一个加载网络图片的库,用开源库能够极大地节省我们编写代码的时间. < ...

随机推荐

  1. .Net基础篇_学习笔记_第七天_计算质数(找出0-100以内说有质数)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. zookeeper与kafka集群部署实现

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作.最终, ...

  3. Winform中对ZedGraph的曲线标签进行设置,比如去掉标签边框

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  4. Hessian 接口使用示例总结(转载)

    一.使用hessian接口准备 首先,hessian接口的使用,必须要准备hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jar; Hessian接口的使用一般是在两 ...

  5. Tomcat类加载器体系结构

    <深入理解java虚拟机>——Tomcat类加载器体系结构 标签: java / 虚拟机 / tomcat Tomcat 等主流Web服务器为了实现下面的基本功能,都实现了不止一个自定义的 ...

  6. C#Post提交解析XML文件

    protected string GetWebContent(string url)     {         Stream outstream = null;         Stream ins ...

  7. 苹果系统IOS第三方管理工具——imazing 优秀

    iMazing 是一款 Windows.macOS 平台的 iPhone.iPad 管理工具,可以进行文件.音乐.视频传输,备份与还原数据,并且可以管理已安装应用,比如重新安装那些已下架的应用,是「史 ...

  8. MyBatis返给前端正确的时间格式

    前台获取位时间戳,后端解决办法之一 问题描述:前端获取后台接口返回的数据,时间是long类型的时间戳而不是时间类型2019-09-25 17:07:32 项目: JAVA web 工具:eclipse ...

  9. 基于Linux系统--web环境搭建

    上线部署文档 数据库部分1.下载Mysql服务    #yum  install  mysql-server 2.更改             /etc/my.cnf 3.启动Mysql        ...

  10. 一行命令安装docker和docker-compose(CentOS7)

    想快速装好docker和docker-compose ?那就随本文用一次复制粘贴来完成安装: 环境信息 操作系统:CentOS Linux release 7.7.1908 (Core, 操作账号:r ...