js简易轮播图,二十行代码搞定

今天给大家写一款简易轮播图,这个轮播图的实现方式很简单,通过切换图片的src
就可以实现,话不多说开始干代码。
首先我们在html中插入一张图片给它取一个id名称,在这里我就叫它focusImg:

<img src="img/nr2.jpg" width="100%" height="100%"  id="focusImg"/>

图片插入好之后可以自己设置想要的css样式,这里就不为大家演示了,接下来是js的代码:

//首先获取图片的id名称
var focusImg = document.getElementById('focusImg');
//设置一个可以切换图片src的标识
var sign = 0;

创建一个showPic(index)函数,在这里面传入一个参数:

function showPic(index){
	
	//在这里要给你的图片的src设置成类似pic1.jpg  pic2.jpg这种形式 
	var imgSrc = 'img/nr';
	imgSrc = imgSrc + index + '.jpg';
	//这里特别备注一下,如果你的图片用的名称是class而不是id
	 //那么就不能使用focusImg.src这个方法,要使用focusImg.setAttribute('src', imgSrc);方法
	focusImg.src = imgSrc;   //获取img的src地址
	
	//这一块如果不需要轮播图下面的导航样式的话可以不写
	var ulList = document.getElementById('ulList');
	var links = ulList.getElementsByTagName('a');
	
	
	for(var i = 0; i < links.length; i++){
		links[i].className = '';
		
	}
	links[index].className = 'current';  //放在循环里会导致有延迟
}

这是我的图片src设置的名称。
在这里插入图片描述
这样一个showPic函数就完成了,只有这一个函数是不行的,要让轮播图动起来那么就需要一个定时器setInterval(),还需要一个切换src数字的函数,在这里我给它取名为changePic():

function changePic(){
	//在这里调用showPic()函数
	showPic(sign);     //这两个顺序不能颠倒,顺序错误会出现什么样的情况大家自己可以试试
	sign++;
	if(sign == 5){
		sign = 0;      //当图片轮播到第六张的时候让他变成第一张图片
	}
	
}
window.onload = showPic(sign);

这行代码的意思是让浏览器加载的时候显示你设置的初始图片

//使用定时器循环这个轮播图
//也可以直接把changePic()写在定时器里面
setInterval('changePic()', 3000);

到这里一个简易的轮播图就完成了,如果想加上按钮点击切换轮播图的图片也很简单,在html中加上两个button按钮,一个左边一个右边移动到图片相应的位置,再给他们绑定上函数就可以:

//html中的代码
<button id="lBtn"> < </button>
<button id="rBtn"> > </button>

//css中的代码
#lBtn{
	position: absolute;
	width: 30px;
	height: 50px;
	background-color: grey;
	left: 345px;
	top: 420px;
	outline: none;
	border: 0px;
	opacity: 0.5;
}
#rBtn{
	position: absolute;
	width: 30px;
	height: 50px;
	background-color: gray;
	left: 1150px;
	top: 420px;
	outline: none;
	border: 0px;
	opacity: 0.5;
}

//js中的代码
function add(){
	
	showPic(sign);
	sign++;
	if(sign == 5){
		sign = 0;
	}
}
function noAdd(){
	
	if(sign == 0){
		sign = 5;
	}
	sign--;
	showPic(sign);
}

var lBtn = document.getElementById('lBtn');
var rBtn = document.getElementById('rBtn');

lBtn.onclick = noAdd;
rBtn.onclick = add;

两个按钮的效果如图所示:
在这里插入图片描述
到这里轮播图的所有教程就完结了,希望大家都可以学会吧。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值